python字符串的相关操作
字符串的拼接 “+”
符号:+
作用:将两个或者两个以上的字符串拼接成一个字符串
strvar1 = 'a'
strvar2 = 'b'
strvar3 = strvar1 + strvar2
print('strvar3:',strvar3) # strvar3: ab
strvar4 = '123' + 'abc'
print('strvar4:',strvar4) # strvar4: 123abc
字符串的多行拼接 “\”
符号:\
作用:将 一个很长的字符串用两行或者多行表示
strvar5 = '123' \
'abc' \
'456'
print('strvar5:',strvar5) # strvar5: 123abc456
字符串的重复 “*”
符号:*
作用:将原字符串复制几次,组成新的字符串
strvar6 = 'a@' * 5
print('strvar6:',strvar6) # strvar6: a@a@a@a@a@
strvar7 = '123' * 3
print('strvar7:',strvar7) # strvar7: 123123123
字符串的索引
索引就是字符串的元素的隐形的编号,看不见但是真实存在,正向从0开始,反向从-1开始。
正向索引: 0 1 2 3 4 5
strvar8 = "字 符 串 的 索 引"
反向索引: -6 -5 -4 -3 -2 -1
注:空格也是一个字符串元素,这里为了演示方便,忽略空格。
用索引取字符串的元素 “[ ]”
strvar8 = "字符串的索引"
# 取第一个元素
strvar81 = strvar8[0]
strvar82 = strvar8[-6]
print('strvar81:',strvar81) # strvar81: 字
print('strvar82:',strvar82) # strvar82: 字
# 取最后一个元素
strvar83 = strvar8[5]
strvar84 = strvar8[-1]
print('strvar83:',strvar83) # strvar83: 引
print('strvar84:',strvar84) # strvar84: 引
# 空格也是字符串元素
a = ''
b = ' ' # 这里有两个空额
print('a的长:',len(a),'b的长:',len(b)) # a的长: 0 b的长: 2
c = '空 格' # 空和格中间有两个空格
new_c = c[3]
print('new_c:',new_c) # new_c: 格
字符串的切片 “[ ]”
语法:str[开始索引 : 结束索引 : 间隔]
切片的5种情况:
(1)、str[开始索引 : ] # 从开始索引截取到字符串的最后一个元素
(2)、str[ : 结束索引] # 从开头截取到字符串的结束索引-1的元素
(3)、str[ 开始索引: 结束索引] # 从开始索引截取到字符串的结束索引-1的元素
(4)、str[开始索引 : 结束索引 : 间隔] # 从开始索引截取到字符串的结束索引-1的元素,并且按照指定 的间隔截取字符串
(5)、str[ : ] 或 str[ : :] # 截取字符串的所有元素
strvar9 = '0123456789'
# (1)、str[开始索引 : ] # 从开始索引截取到字符串的最后一个元素
strvar91 = strvar9[2:]
print('strvar91:',strvar91) # strvar91: 23456789
# (2)、str[ : 结束索引] # 从开头截取到字符串的结束索引-1的元素
strvar92 = strvar9[:5]
print('strvar92:',strvar92) # strvar92: 01234
# (3)、str[ 开始索引: 结束索引] # 从开始索引截取到字符串的结束索引-1的元素
strvar93 = strvar9[4:9]
print('strvar93:',strvar93) # strvar93: 45678
# (4)、str[开始索引 : 结束索引 : 间隔] # 从开始索引截取到字符串的结束索引-1的元素,并且按照指定 的间隔截取字符串
strvar94 = strvar9[1:9:2]
print('strvar94:',strvar94) # strvar94: 1357
# (5)、str[ : ] 或 str[ : :] # 截取字符串的所有元素
strvar95 = strvar9[:]
print('strvar95:',strvar95) # strvar95: 0123456789
字符串的格式化
%符号格式化字符串
格式化字符串包含两个概念:格式和格式化
格式:格式有%开头,例%s,%d,%f
格式化:格式化运算符用%表示用对象代替格式串中的格式,最终得到一个字符串。
字符串的格式字符及含义
格式 | 含义 |
---|---|
%d、%i | 格式化整数 |
%f、%F | 格式化浮点数,可指定小数位数 |
%s | 格式化字符串 |
%c | 格式化字符或编码 |
%u | 格式化无符号整数 |
%% | 字符% |
%o | 格式化八进制数 |
%x | 格式化十六进制数 |
%e、%E | 用科学计数法(基底e,基底E)格式化浮点数 |
%g、%G | 根据值的大小彩用科学计数法(基底e,基底E)或浮点数形式格式化字符串 |
%格式化的书写形式
注:[ ]中的内容可以省略
strvar10 = '我叫%s'%'小郭'
print(strvar10) # 我叫小郭
strvar11 = '年龄%d'%22
print(strvar11) # 年龄22
strvar12 = '今天花销%f'%10.1
print(strvar12) # 今天花销今天花销10.100000
strvar13 = '我叫%s,年龄%d,今天花销%.2f。' %('小郭',20,10.1)
print(strvar13) # 我叫小郭,年龄20,今天花销10.10。
format()方法格式化字符串
format()方法使用{}和:代替传统的%方法。
注:[ ]中的内容都可以省略,但是需要用到其中一个中框号内容必须得包含[:]。
a = 3
b = 4
c = a +b
print('a+b={}'.format(c)) # a+b=7
d = 1.123
e = a + d
print('a+d={:.2}'.format(e)) # a+d=4.1
print("我叫{}".format('小郭')) # 我叫小郭
print("我叫{},年龄{}".format('小郭',22)) # 我叫小郭,年龄22
print("我叫{name},年龄{age}".format(name='小郭',age=22)) # 我叫小郭,年龄22
print("我叫{0},年龄{1},今日花销{1}".format('小郭',22)) # 我叫小郭,年龄22,今日花销22
字符串的填充 < > ^
符号:<
作用:左对齐(左填充)
符号:>
作用:右对齐(右填充)
符号:^
作用:居中对齐(居中填充)
注:默认为对齐,在符号前面加特殊符号表示用符号进行填充。
print("{:<10}".format("左对齐")) # 在10个字节中
print("{:>10}".format("右对齐"))
print("{:^10}".format("居中对齐"))
print()
print("{:#<10}".format("左填充")) # 在10个字节中,左对齐,空位用#填充
print("{:*>10}".format("右填充"))
print("{:-^10}".format("居中填充"))