七个函数
string.join(seq):以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
str = '*' seq = 'abcasdasd' print(str.join(seq))
结果:a*b*c*a*s*d*a*s*d
string.split(str="", num=string.count(str)):以 str 为分隔符切片 string,如果 num有指定值,则仅分隔 num 个子字符串
str = 'b' a = 'abcasbasd' print(a.split(str))
结果:['a', 'cas', 'asd'] ----- 返回的数组中不包含分隔符,区别于partition()
string.find(str, beg=0, end=len(string)):检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
str = 'b' a = 'abcasbasd' print(a.find(str))
结果:1
string.strip([obj]):删除 string 字符串前面和末尾的空格;当obj不为空,可以移除指定字符串,包括\t \n等
a = ' abca sbasd ' print(a.strip())
结果:abca sbasd
string.replace(str1, str2, num=string.count(str1)):把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次
a = 'abcasbcasd' print(a.replace('ca','xxx'))
结果:abxxxsbxxxsd
string.upper()与string.lower():转换 string 中的小写字母为大写/大写字母为小写
五个要点
for循环:
for 变量名 in 字符串
a = 'asdas' for n in a: print(n)
等价于while循环:
a = 'asdas' n = 0 while n < len(a): print(a[n]) n += 1
索引,下标:
获取字符串中的某一个字符
a = 'asdas' print(a[3])
结果:a
切片:
语法表达式为[start_index : end_index : step]
,其中:
start_index
表示起始索引end_index
表示结束索引step
表示步长,步长不能为0,且默认值为1
支持切片操作的数据类型有list
、tuple
、string等
a = 'asdasasda' print(a[1:8:3])
结果:ssd
len()
获取当前字符串中由几个字符组成
a = 'asdasasda' print(len(a))
结果:9
range()
帮助创建连续的数字,通过设置步长来指定不连续
for a in range(0,100,5): print(a)
结果:0,5,10....95
字符串格式化(两种方式)
① 百分号拼接
print('i am %s , my age is %d'%('xulan',20)) print('i am %s , my age is %.2f'%('xulan',20)) print('i am %s , my age is %.2f%%'%('xulan',20)) print('i am %(name)s , my age is %(age)d '%{'name': 'xulan','age':20})
结果:i am xulan , my age is 20
i am xulan , my age is 20.00
i am xulan , my age is 20.00%
i am xulan , my age is 20
②format字符串格式化
print(('my name is {} , my age is {}').format('xulan',20)) 结果:my name is xulan , my age is 20 按顺序取值 print(('my name is {1} , my age is {0}').format('xulan',20)) 结果:my name is 20 , my age is xulan 按下标取值 print(('my name is {1} , my age is {0}').format(*['xulan',20])) 结果:my name is 20 , my age is xulan *表示参数是列表或元组,*['xulan',20]将被转变为 'xulan',20 print(('my name is {a} , my age is {b}').format(a='xulan',b=20)) 结果:my name is xulan , my age is 20 按key取value的值 print(('my name is {a} , my age is {b}').format(**{'a':'xulan','b':20})) 结果:my name is xulan , my age is 20 **表示参数是字典,**{'a':'xulan','b':20}将被转变为 a='xulan',b=20 print(('my name is {0[1]} , my age is {0[0]}').format([1,2],[11,22])) 结果:my name is 2 , my age is 1 按下标找到对应的列表,再按列表的下标取值 print("i am {:s}, age {:d}".format("xulan",20)) 结果:i am xulan, age 20 :b二进制 :o八进制 :d十进制 :x16进制(小写) :X16进制(大写) :%显示百分比(默认显示小数点后六位) print("numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623))
结果:numbers: 1111,17,15,f,F, 1587.623000%