3.3 字符串
1.字符串用单引号(’ ‘)或双引号(” “)创建,两者用法效果相同,但需同一种引号必须同时出现,不可以单引号开始,双引号结束,否则系统报错;如果要输出单引号或者双引号该怎么办呢,看下面代码可以熟悉引号的用法:
Str1=”I’m string”
Str2=’I\’m string’
Str3=r’I\’m string’
Str4=’’’I\’m
String’’’
print(Str1)
print(Str2)
print(Str3)
print(Str4)
前两句的输出结果均为为:I’m string,
第一行这里双引号内有单引号,如果这时用单引号’I’m string’标记字符将会出错
第二行用转义字符“\”反斜杠也可以达到相同的效果
第三行输出结果为I\’m string,这里用r表示原始字符串不被转义
第四行第五行为三引号的多行用法,输出第一行为I’m,第二行为string。
2.连接字符串
字符串用连接+连接,用*表示重复输出相同字符串,看下简单用法:
print(‘ab’*3+”cd”,”e”)
输出结果为:abababcd e,ab出现3次,d和e之间有一个空,
这里“,”默认为输出一个空格,如果不想输出空格就用+连接相邻的字符串。
3.访问字符串里面的值 有时候我们会需要提取一个或多个字符串的内容该怎么操作呢,看下面实例:
str='abcd1234'
print(str[3]) #输出str中第3位字符:d
print(str[0:-3]) #输出str中第1位到倒数第3位字符:abcd1
print(str[2:5]) #输出str中第1位到第五位字符:cd1
print(str[3:]) #输出str中第3位到末尾的字符:d1234
print(str[1:6:2]) #输出str中第1位到第6位步长为2的字符:bd2
上面是几种常见用法,字符串的索引是从0开始的,
上述abcd1234分别对应索引值为01234567,索引值为负数时则对应值为-8到-1,没有-0位。
4.字符串的基本操作 字符串里有很多内建函数,具体的功能名称和功能见17xbc.cn,列举几个字符串的翻转、查看字符串长度和包含关系等操作,通过实例学习下吧:
str='abcd1234'
print(str[::-1]) #输出:4321dcba
print(len(str)) #输出:8
print('x' in str) #输出:false
print('a' in str) #输出:ture
print(max(str)) #输出:d
print(min(str)) #输出:1
print(ord("d")) #查看d对应数值编码输出:100
print(ord("c")) #查看c对应数值输出:99
print(ord("1")) #查看1对应数值输出:49
第二行str[::-1]为字符串的翻转操作;
len()用来返回字符串的长度;
in用来判断x字符是否在str字符串里;输出结果为布尔值;
在一个字符串里,每个字符在计算机内部都有对应的编码数字,
所以可以用max()和min()获得字符串中的最大和最小值对应的字符,
上述实例中ord()是用来查看一个字符对应编码的方法,可以看到d,c,1的编码数值为100,99和49。
6.字符串格式化 python支持格式化字符串的输出。常用的有%、.format()和f’{}’等,通过实例看看他们的用法:
str1="world"
str2="Python"
print(f'Hello {str1} ,I\'m learning {str2}') #f字面量格式化方法
print('Hello %s'%str1,',I\'m learning %s'%str2) #%s在此做占位字符,替换字符内容
print('Hello %s ,I\'m learning %s'%(str1,str2)) #字符串后移对应赋值
print('Hello {0} ,I\'m learning {1}'.format(str1,str2)) #format方法
以上输出结果均为:Hello world ,I'm learning Python,
虽然代码不一样但是输出结果都相同,说明格式化的方法有很多,实际运用中可以根据情况选择较为便捷方法。
上述例子中%s替换了字符的内容,此外占位符还有d%(替换整数),
%f(替换浮点数,.2f%表示精确到小数点后2位),x%(替换十六进制)等。
f’{}’内使用=符号还可以拼接运算式与结果,看下其用法:
X=1
print(f"{X+5}") #输出:6
print(f"{X+5=}") #输出:X+5=6