1. Python字符串的创建
字符串是Python中最常见的数据类型,通常使用单引号或双引号来定义一个字符串,如下:
str = "我是字符串"
str1 = '我也是字符串'
python中单引号和双引号定义字符串作用效果是相同的,它没有char类型,也就是python不支持单字符类型,单字符在python中也是作为字符串处理的。
2. Python字符串的截取
语法:变量[头下标:尾下标]
字符串的索引值以0为开始值,-1为末尾的开始位置
比如:获取字符串的一段子字符串
str = 'Hello World!'
print (str) # 输出字符串
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符
print (str[0]) # 输出字符串第一个字符
print (str[2:5]) # 输出从第三个开始到第五个的字符
print (str[2:]) # 输出从第三个开始的后的所有字符
3. Python字符串的修改(替换)
Python字符串的修改(替换),其实就是截取字符串的一部分与其他字符串进行拼接,使用加号操作符来实现。
str = "Hello World"
newStr = str[:6] + "tom!"
4. Python字符串的转义
在Python中使用反斜杠(\)来对字符串中的特殊符号进行转义,常见的转义字符如下:
(1) \(在行尾时)续行符
(2) \\反斜杠符号
(3) \'单引号
(4) \"双引号
(5) \a响铃
(6)\b退格(Backspace)
(7)\000空
(8)\n换行
(9)\v纵向制表符
(10)\t横向制表符
(11)\r回车
(12)\f换页
(13)\oyy八进制数,yy 代表的字符,例如:\o12 代表换行,其中 o 是字母,不是数字 0。
(14)\xyy十六进制数,yy代表的字符,例如:\x0a代表换行
(15)\other其它的字符以普通格式输出
5. Python字符串编码方式
在Python3中,所有的字符串都采用Unicode编码方式,也就是Python3中,所有的字符串都是Unicode字符串;
6. Python字符串运算符
(1)+实现字符串拼接操作。
(2)*重复输出字符串(字符串乘法)。
(3)[]通过字符串的索引获取字符串中对应的字符。
(4)[ : ]截取字符串中的一部分,遵循左闭右开原则,str[0,2] 是不包含第 3 个字符的。
(5)in成员运算符 - 如果字符串中包含给定的字符返回 True。
(6)not in成员运算符 - 如果字符串中不包含给定的字符返回 True。
(7)r/R使用r可以让反斜杠不发生转义,也就是原样输出原始字符串,所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
print( r'\n' )
print( R'\n' )
(8)%用来格式字符串。
7. Python格式化字符串
Python支持格式化字符串的输出,使用%来实现格式化操作。
Python常见的字符串格式化符号如下:
(1) %c 格式化字符及其ASCII码
(2) %s 格式化字符串
(3) %d 格式化整数
(4) %u 格式化无符号整型
(5) %o 格式化无符号八进制数
(6) %x 格式化无符号十六进制数
(7) %X 格式化无符号十六进制数(大写)
(8) %f 格式化浮点数字,可指定小数点后的精度, 如: %.5f
(9) %e 用科学计数法格式化浮点数
(10) %E 作用同%e,用科学计数法格式化浮点数
(11) %g %f和%e的简写
(12) %G %f 和 %E 的简写
(13) %p 用十六进制数格式化变量的地址
在使用上面提到的格式化符号来格式化字符串时,常常需要一些字符串辅助符号来实现。
在Python中,常见的格式化辅助符号如下:
(1) *定义宽度或者小数点精度
(2) -用做左对齐
(3) +在正数前面显示加号( + )
(4) 在正数前面显示空格
(5) #在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
(6) 0显示的数字前面填充'0'而不是默认的空格
(7) %'%%'输出一个单一的'%'
(8) (var)映射变量(字典参数)
(9) m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
在Python3.6后,引入了一个新的格式化字符串的语法——(f-string)字面量格式化字符串。
f-string 格式话字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去
比如: f"我叫{name}, 今年{age}岁, 来自{city}"
8. Python中的三引号 """ """
python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
如果没有将一个三引号包裹的字符串值赋值给一个变量,那么这段字符串就是一个Python注释语句。
示例代码:#!/usr/bin/python3
# -*- coding: utf-8 -*-
# author : liuhefei
# Time : 2019/11/9
# desc: Python数据类型之字符串
"""
Python数据类型之字符串:
在Python中使用单引号或双引号来定义一个字符串
"""
if __name__ == "__main__":
# 定义字符串
str = "Hello World!"
str1 = 'I love you! Hello World!'
str2 = "I like apples, \n but I don't like bananas, \t so I don't eat bananas "
# 打印输出字符串
print("1 - ", str)
# 字符串的截取(左闭右开原则)
print("1 - ", str[0:-1]) # 输出第一个到倒数第二个的所有字符
print("2 - ", str[0]) # 输出字符串的第一个字符
print("3 - ", str[-1]) # 输出字符串的倒数第一个字符
print("4 - ", str[2:5]) # 输出从第三个开始到第五个的字符
print("5 - ", str[3:]) # 输出从第四个开始的后的所有字符
print("6 - ", str[:-4]) # 输出从第一个字符到字符串的倒数第四个字符之间的字符
print("\n")
# 字符串的运算
print("7 - ", str + str1) # 字符串的拼接操作
print("8 - ", str1*4) #字符串的乘法(重复输出字符串)
print("9 - ", str[5]) # 获取字符串下标为5的字符
print("10 - ", str in str1) # 判断字符串str是否在str1中,存在返回True,否则返回False
print("11 - ", str not in str1) # 判断字符串str是否不在str1中,不存在返回True,存在返回False
print("12 - ", r'str2') # 打印输出原始字符,不发生转义
print("13 - ", R'str2')
print("14 - ", str2) # 打印字符串,转义发生
print("我叫%s, 今年%d岁, 来自%s, 体重%.2fKG" %("刘豆豆", 24, "深圳", 72.04))
print("我叫{name}, 今年{age}岁, 来自{city}, 体重{weight}".format(weight=70.04, age=25, name="刘豆豆", city='深圳'))
print("\n")
strs = """
天国虽美,\n
没有了你,\n
万杯觥筹,\n
只不过
是提醒寂寞罢了。
"""
print("strs = ", strs)
strs1 = '''
你若来,\n
我等你!\n
你若走,\n
我送你!\n
喜欢你,或许就只是我一个人的事!
'''
print("strs1 = ", strs1)
# f-string 字面量格式化字符串
s = f'我想你了, {strs}'
print("s = ", s)
boy = {"男": "男:我想你了\n"}
girl = {"女": "女:只愿君心似我心,定不负相思意"}
speak = f"{boy['男']}{girl['女']}"
print(speak)
来源:gzh: 学虽易学好难(study3344)
结束语:一个人,一个目标,一条路!