python----字符串
1、字符串拼接和重复输出
#字符串的拼接,用+来拼接,保证+两边的数据类型要一致,如果不一致,可以强制转换
a = "你好," b = "我好" print(a + b) #控制台执行结果:你好,我好
print(3 * a) #控制台执行结果:你好,你好,你好
2、len函数和截取和切片
a = "菩提本无树,明镜亦非台。本来无一物,何处惹尘埃。" print(len(a)) #控制台执行结果:24 len() 统计数据长度
b = "身是菩提树,心如明镜台。日日勤拂拭,勿使惹尘埃"
print('身' in b) #控制台执行结果:True,也可以有not in
s1 = 'sd!ffgg' print(s1[1]) #d,字符串截取:字符串变量名[索引值],索引是正向从0开始的,反向从-1开始 print(s1[-1]) #切片 字符串变量名[索引头:索引尾:步长] 步长默认为1,能取到索引头的值,取不到索引尾的值 print(s1[1:5:2]) print(s1[1:5]) print(s1[1:]) #表示从1开始,取值到末尾,也就是冒号哪边没写值,取到那边的头 #请利用切片,倒叙输出字符串s的值 s = 'abcdef!' num = len(s) s2 = s[-1:-num-1:-1] s3 = s[::-1] #这里是-1,默认从尾巴开始数
3、制表符
\n(换行) 、\t(横向制表符)
print('a\\b') #特殊字符转义。控制台执行结果:a\b print('a\"b') #控制台执行结果:a"b
print(r'a\\b') #控制台输出结果:a\\b
4、一些字符串常用函数
a = 'hello world' print(a.capitalize()) #控制台执行结果:Hello world,首字母大写 print(a.upper()) #控制台执行结果:HELLO WORLD , 全部大写 print(a.lower()) #控制台执行结果:hello world,全部小写 print(a.count('o')) #控制台执行结果:3,计数 print(a.find('o')) #控制台执行结果:4 找到第一次出现的位置 print('--'.join(['你好','我好','大家好'])) #控制台执行结果:你好--我好--大家好 用某个字符串把数组联合起来
#字符串的分割,字符串.spilt(指定的切割符号,切割次数),返回一个列表类型的数据 s4 = 'a!b!c!1!' print(s4.split('!',2)) #['a', 'b', 'c!1!']
#字符串的替换,字符串.replace(指定替换值,新值,替换次数) 不写替换次数,默认全部替换 s5 = 'girls' s6 = s5.replace('i','+++++') print(s6) #控制台输出 g+++++rls
#字符串去除指定字符,字符串.strip(指定字符) 默认去掉空格,只能去掉头和尾的值 s7 = ' boys' print(s7.strip('ys')) # bo print(s7.strip('b')) # boys
a.strip() #把字符串首尾的空白字符去掉,有空格\t\n这些什么都不展示的字符
5、格式化输出
#字符串格式化输出 % format s_1 = '冬天' s_2 = '醒过来' print('听见'+s_1+'的离开,我在某年某月'+s_2) #格式化输出1:format,用{}占变量的位置 print('听见{0}的离开,我在某年某月{1}'.format(s_1,s_2))
#格式化输出2:% %s字符串,%d数字,%f浮点型 (%s可以跟任何类型) s_3 = '哈哈哈' s_4 = 111 s_5 = 6.6666 print('s_3是%s,s_4是%d,s_5是%.2f'%(s_3,s_4,s_5)) #%.2f 表示小数点后保留2位
6、decode和encode(python3一般不涉及编码问题)
c = '你好' print(c) //控制台输出:你好 c = c.encode('gbk') print(c) //控制台输出:b'\xc4\xe3\xba\xc3' (这里的b是二进制) c = c.decode('gbk') print(c) //控制台输出:你好
7、eval可以将字符串转为列表、字典、布尔、json等类型
b = 'True' print(type(b)) print(type(eval(b))) 控制台输出: <class 'str'> <class 'bool'>