python 字符串
1.字符串也可以通过切片进行修改,删除等操作
2.字符串内置函数(BIF)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
>>> strng = 'zhJL' >>> strng.capitalize() #把字符串的第一个字符改成大写 'Zhjl' >>> sti = 'HelLo' >>> sti.casefold() #把字符串的所有字符改成小写 'hello' >>> sto = 'hello' >>> sto.center(16) #把字符串居中,使用空格填充至长度16 ' hello ' >>> len(sto) #返回字符串的长度 5 >>> str = 'zzzzzlllll' >>> str.count('z',0,2) #返回z在字符串索引0-2(不包括2),z出现的次数 2 >>> str = 'zzzzll' >>> str.endswith('z') #判断字符串是否以z结尾 False >>> str = 'zzzzll' >>> str.endswith('l') True >>> str = 'zzz\tlll' >>> str.expandtabs(tabsize=8) #把字符串中\t转换为空格,tabsize默认8 'zzz lll' >>> str = '1232131jjll' >>> str.find('1')#检测1是否包含在字符串中,如果有则返回索引值,否则返回-1 0 >>> str.find('a') -1 >>> str = '1234512zzjll' >>> str.index('z') #检测j是否包含在字符串中,如果有则返回索引值,否则抛出异常 7 >>> str.index("") 0 >>> str.index("9") Traceback (most recent call last): File "<pyshell#161>", line 1, in <module> str.index("9") ValueError: substring not found >>> sti = '123abc' >>> sti.isalnum() #如果字符串至少有一个字符并且所有字符都是字母或数字则返回TRUE True >>> sti = '121' >>> sti.isalnum() True >>> sti = '!!!!0' >>> sti.isalnum() False >>> sti.isalpha() #字符串至少有一个字符并且所有字符都是字母返回TRUE False >>> sti = 'abc' >>> sti.isalpha() True >>> sti = '123' >>> sti.isdigit() True >>> sti = 'abv123' >>> sti.isdigit() #符串至少有一个字符并且所有字符都是数字返回TRUE False >>> sti = 'ABCadb' >>> sti.islower() #包含区分大小写的字母,所有字符都是小写,返回True False >>> sti = 'ac' >>> sti.islower() True >>> sti = ' ' >>> sti.isspace() #字符串中只包含空格,则返回True True >>> sti = ' a' >>> sti.isspace() False
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
>>> sti = 'The World' >>> sti.istitle() #字符串是标题化,则返回True True >>> sti = 'ABC ' >>> sti.isupper() #字符串中都是大写字母,返回Ture True >>> sti = ' ' >>> sti.join('abc') #以字符串作为分割符,插入到sub中所有的字符之间 'a b c' >>> sti = 'abc' >>> sti.ljust(20) #回一个左对齐的字符串,并使用空格填充至长度为20的新字符串 'abc ' >>> sti = ' abc' >>> sti.lstrip() #去掉字符串左边的所有空格 'abc' >>> >>> sti = 'abc ' >>> sti.rstrip() #去掉字符串右边的所有空格 'abc' >>> sti = ' abc ' >>> sti.strip() #去掉字符串所有空格 'abc' >>> sti = 'abc df cd 123 sdfa' >>> sti.partition(' ') #找到字符串sub,把字符串分成3个元祖 ('abc', ' ', 'df cd 123 sdfa') >>> sti = 'abc' >>> sti.replace('a','g') #把字符串中的old字符串替换成new字符串 'gbc' >>> sti = 'abcdefg' >>> sti.startswith('a') #检查字符串是否以a开头,是则True True >>> str12 = 'abcEWER' >>> str12.swapcase() #反转大小写 'ABCewer' >>> sti = 'abc bce' >>> sti.title() #标题 'Abc Bce' >>> sti = 'abcdefG' >>> sti.upper() #转换成大写 'ABCDEFG' >>> sti = 'sss' >>> sti.zfill(20) #返回长度为19的字符串,原字符串右对齐,前面用0填充 '00000000000000000sss'
3.利用join()方法拼接字符串,利用split()方法进行拆分字符串
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
>>> str1 = '_'.join(['What','The','Fuck','Day']) >>> str1 'What_The_Fuck_Day'
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
>>> str1.split('_') ['What', 'The', 'Fuck', 'Day']
4.格式化字符串
4.1:通过位置参数进行格式化字符串
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
>>> guess = "{0} love {1}.{2}".format('I','love','game') >>> guess 'I love love.game' >>>
4.2:通过关键字参数进行格式化字符串
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
>>> guess = "{a} love {b}.{c}".format(a = 'i',b = 'love',c = 'game') >>> guess 'i love love.game'
4.3:位置参数和关键字参数综合使用时,位置参数必须在前面,否则报错
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
>>> guess = "{0} love {a}.{b}".format('i',a = 'love',b = 'game') >>> guess 'i love love.game' >>> guess = "{a} love {0}.{b}".format(a = 'i', 'love',b = 'game') SyntaxError: positional argument follows keyword argument
4.4:解析格式化字符串格式
:表示格式化符号的开始 ".2"表示四舍五入保留两位 "f"表示浮点型
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
>>> uess3 = "{0}:{1:.2f}".format("圆周率",3.1415926) >>> uess3 '圆周率:3.14'
4.5:格式化操作符%
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数自,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g 根据值的大小决定使用%f或%e
%G 作用同%g,根据值的大小决定使用%f或%E
4.6:python转义
\' 单引号
\" 双引号
\a 发出系统响铃声
\b 退格符
\n 换行符
\t 横向制表符
\v 纵向制表符
\r 回车符
\f 换页符
\o 八进制数代表符
\x 十六进行代表符
\0 表示一个空字符
\\ 反斜杠