大小写改变(以下所有都不会改变原字符串)
1、x.capitalize() 将字符串的首字母变成大写,其他字母都变成小写。
比如“I Love You”------->"I love you"
2、x.casefold() 将所有字符串的字母变成小写。
比如:"I Love You"-------->"i love you"
3、x.title() 将所有单词的首字母变大写,其他字母变成小写。
4、x.swapcase() 将大小写都反转。
5、x.upper() 将所有字母都变成大写。
6、x.lower() 将所有字母都变成小写。
扩展:区别lower和casefold:
根据python官方文件,lower只能处理英文字母,而casefold则能处理更多语言的小写(比如德语等)。
左中右对齐
提示:等号为默认值;当width<字符串长度,则原样输出;不会改变原字符串。
1、x.center(width,fillchar=' ') 居中输出。
2、x.ljust(width,fillchar=' ') 左对齐输出。
3、x.rjust(width,fillchar=' ') 右对齐输出。
4、x.zfill(width) 以0填充至宽度=width(有负号时,负号也占一个宽度)
查找
1、x.count(item[,start[,end]]) 查找item出现的个数。(start和end代表的是索引)
2、x.find(item[,start[,end]]) 从左往右查找item第一次出现的索引。
3、x.rfind(item[,start[,end]]) 从右往左查找item第一次出现的索引。(2和3都是返回正值索引)
注意:find和rfind查找不到返回-1.
4、x.index(item[,start[,end]]) 从左往右查找item第一次出现的索引。
5、rindex(item[,start[,end]]) 从右往左查找item第一次出现的索引。
注意:4=2,5=3,但是对于查找不到对象,23是不同于45的处理方法
45会直接异常报错,23则返回-1。
6、x.expandtabs(tabsize=8) 使字符串内的tab全被替换成tabsize个空格,并返回被替换后的字符串。
比如:new_code=code.expandtabs(4)
7、x.replace(old,new,count=-1) 将字符串中的old替换成new,这个操作进行了count次,并作为新字符串返回。
注意:默认值count=-1代表全部。
8、x.translate(table) 按照转换表格table来替换x中的指定字符,并形成新字符串作为返回。
内容就有一个问题了:如何获得表格?
答案是,使用str.maketrans(x[,y[,z]])来获得转换规则的表格,x为原字符表,y为新字符表,z为忽略的字符(字符串内的都是忽略对象)。
A="I LOVE YOU"
s=str.maketrans("ABCDEFG","1234567")
A.translate(s) #得到"I LOV5 YOU"
s=str.maketrans("ABCDEFG","1234567","LOVE")
A.translate(s) #得到"I YU"
判断
1、x.startswith(prefix[,start[,end]]) 判断子字符串prefix是否出现在开始位置。
2、x.endswith(suffix[,start[,end]]) 判断子字符串suffix是否出现在结束位置。
注意:prefix和suffix都可以是元组,只要元组内有一个元素匹配成功,即可返回True。
3、x.istitle() 每个单词首字符是否都大写。
4、x.isupper() 是否都大写。
5、x.islower() 是否都小写。
6、x.isalpha() 是否都是字母(注意,空格不是字母)
7、x.isspace() 是否是空白。(空白可以有:空格,tab,\n).
8、x.isprintable() 是否都可打印。(不可打印的有:转义字符)
9、x.isdecimal() x.isdigit() x.isnumeric() 是否是数字。(三者的判断范围逐渐增大,numeric甚至可以判断一二三等中文数字)
10、x.isalnum()=9+6
11、x.isidentifier(item) 判断这个item是否是一个合法的python标识符。(数字字母下划线)
拓展:
12、判断是否是关键字:
使用keyword模块:
import keyword
keyword.iskeyword("if") #返回True
keyword.iskeyword("hh") 返回False