str字符串、bool类型常用方法总结
字符串拼接 必须是字符串与字符串拼接 print('马化腾'+'马云') print('马化腾' * 10) 将打印10个马化腾 字符串翻转 [ : :-1] 字符串可以加和乘,不能减和乘 input 默认输出的全都是字符串类型返回输入内容,阻塞程序 切片 s[起始索引:结束索引+1:步长] 切片s[4:2]不输出任何数据 s[-1:-3:-1] 默认步长是1表示从左往右,如果步长为负表示从右往左切的方向 s1 = s[0:6] 顾头不顾腚 ,如果第一个是0可以省略[:6] s1 = s[:] 表示取所有 'abc' "abc" 作用是一样的 '''abc''' """abc""" 作用相同,可以多行引用字符串, 如果不是赋值将会变为注释符号# s = 'hello' # capitalize() 只有首字母大写 其余变小写 无论有无空格隔开的字符串 反会更改后的列表,原字符串不变 # upper() 全部变成大写 返回变成大写的字符串,原字符串不变 #lower() 全部变成小写 返回变成大写的字符串,原字符串不变 #caseflod() s.caseflod() 是lower()方法的加强版,识别欧洲等各国文字 #swapcase() 大小写反转,返回新字符串 #title() 每个单词首字母大写 非字母隔开的字符首字母大写 返回新字符串 #center(参数) 将字符串变为指定的长度并居中,第二个参数表示填充物,不写默认为空格。返回新字符串,若指定的填充符号的长度小于字符串本身的长度,填充符号则不会显示。 s1 = s.center(30,'*') #startwith('参数',指定范围) 有切片判断字符串是否以。。。开头,返回为bool值。开始和结束位置以...开头 #endwith() 作用参考startwith() 格式:“字符串内容”.startswith(“指定字符串”,指定范围),不指定范围默认第一个
s = 'dark knight' s1 = s.startswith('k',5) #判断前5个里是否有k print(s1) 输出:True
#strip () 去除首尾的空格,制表符\t,换行符\n。 还可以加参数,凡是参数带的会将原字符中带的全部去除,返回新的字符串 用法1: 去除字符串两侧的空格 用法2:换掉两端的其他字符 pass #lstrip() rstrip() 去除左边的空格,制表符\t,换行符\n;去除右边的空格,制表符\t,换行符\n #split('切割符','切割次数') 切割,用什么刀就会损失什么 将str-->list 默认以空格分隔,也可以指定参数,以。。。分隔并且在源字符串去掉参数。当分隔点是第一个,也会出现一个空字符串。返回一个新列表 坑点 如果切割点在字符串的两端,会出现两个空字符串。
s = '''hello string hahah ''' print(s.split('\n')) 输出: ['hello', 'string', 'hahah', '']
#rsplit() 功能与split()类似 通过指定分隔符按从右到左的顺序对字符串进行切片,并以一个列表的形式返回。括号内不指定字符串表示默认以空格为分隔符。可以指定分隔符的个数 #join(参数) 可指定特定孵化分隔,将list-->str (如果字符串中有数字,就会报错).可以对str或者list 以参数的 str = ''.join(list) str = '$'.join(list) 以$符分隔
delimiter = ',' #以,号拼接 my_list = ['Brazil', 'Russia', 'India', 'China'] print(delimiter.join(my_list)) s1 = s.capotalize
#replace('原','新',2) 也可以将部分内容置空。将指定的字符串替换成新的字符串,并返回替换后的字符串。可以指定替换的次数,若不指定次数则默认替换全部。 格式:“字符串内容”.replace(“要替换的内容”,“新的内容”,指定的替换的次数)
mystring = 'qwe_Ss_sd' #也可用于删除某特定字符 s2 = mystring.replace('_', '') print(s2) 输出:qweSssd
以下三个 find index count 都可以通过索引判断 #find('索引', 3, 10) 通过元素找索引,只返回第一个索引下标,找不到会返回-1 查找范围顾头不顾腚,位置与字符串下表类似从0开始。不写范围默认全部 #index() 通过元素找索引,返回元素所在在下标,找不到会报错(写程序用find) #count('a', 3, 10) 统计指定的str在字符串中出现的次数并返回次数 若没找到返回:0,可以指定范围:开始位置和结束位置进行统计 格式:"字符串内容".count('指定的字符串',指定范围),范围顾头不顾腚,不指定范围默认全部 以下is*方法使用格式s.isdigit()并且返回都是bool类型的值 #isdigit() 判断是否全部是数字组成 小数返回False 返回bool类型 #isalpha() 判断是否全部为字母组成 返回bool类型 #isalnum() 判断是否全部由字母或者数字组成 返回bool类型 #isupper() 判断字符串中的全部字母是否全部大写,若字符串中无字母返回False,不关心字母以外元素,返回bool #islower() 同isupper() #isspace() 判断是否全部由空字符串组成,返回bool,'' 返回false ' ' 返回True #istitle() 判断字符串中所有的单词的首字母是否为大写且其他字母为小写。s = 'Hello Is Lhahha'==>True s = 'Hello haha' ==>False并返回一个布尔值。 #isdecimal() 判断字符串是否只包含十进制字符。这种方法只存在于unicode对象。并返回一个布尔值。(注意:定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可) #capitailze() s.capitail()将字符串首字母大写其余变小写,返回新字符串 #zfill() s.zfill(20) 按指定长度在字符串的左侧填充"0"补齐,并返回这个补齐“0”后的字符串, 只有一个参数 #incode() 以指定的编码格式对字符串进行编码,并返回编码后的二进制 格式“字符串内容”.encode(“指定的字符编码”)
s = '王晓东最帅' s1 = s.encode('utf-8') #以utf-8编码 print(s1) #输出 b'\xe7\x8e\x8b\xe6\x99\x93\xe4\xb8\x9c\xe6\x9c\x80\xe5\xb8\x85' s2 = s1.decode('utf-8') # 用decode解码,以什么编码就要以什么解码,否则乱码 print(s2)
#ljust() 定义:返回一个左对齐的字符串,并使用指定长度的填充符号,不指定填充符号默认使用空格作为填充符号。若指定的填充符号的长度小于字符串本身的长度,填充符号则不会显示。 #rjust()参考上面的 格式:“字符串”.ljust(填充的长度,“指定填充符号”)
s = 'dark knight' s1 = s.ljust(30) print(s1,'<-结束') 输出: dark knight <-结束
bool True False 非0为True 非空为True 空列表/字典 list[] dict{} a=None也是False 强制类型转换bool()