字符串的方法及注释
capitalize()
把字符串的第一个字符改为大写
>>>str2='xiaoxie'
>>>str2.capitalize()
'Xiaoxie'
casefold()
把整个字符串的所有字符改为小写
>>>str2="DAXIExiaoxie"
>>>str2.casefold()
'daxiexiaoxie'
center(width)
将字符串居中,并使用空格填充至长度 width 的新字符串
count(sub[, start[, end]])
返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。
>>>str2.count('xi')
2
encode(encoding=‘utf-8’, errors=‘strict’)
以 encoding 指定的编码格式对字符串进行编码。
endswith(sub[, start[, end]])
检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选。
>>>str2,endswith('xi')
False
expandtabs([tabsize=8])
把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。
>>>str3='I\tlove\tFishC.com!'
>>>str3.expandtabs()
'I love FishC.com!'
find(sub[, start[, end]])
检测 sub 是否包含在字符串中,如果有则返回索引值(最后一个字符的位置,注意第一个字符是从0算起),否则返回 -1,start 和 end 参数表示范围,可选。
>>>str3.find('efc')
-1
>>>str3.find('com')
13
index(sub[, start[, end]])
跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常。
isalnum()
如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。
isalpha()
如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False。
isdecimal()
如果字符串只包含十进制数字则返回 True,否则返回 False。
isdigit()
如果字符串只包含数字则返回 True,否则返回 False。
islower()
如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回 True,否则返回 False。
>>>str4='小甲鱼'
>>>str4.islower()
False
isnumeric()
如果字符串中只包含数字字符,则返回 True,否则返回 False。
isspace()
如果字符串中只包含空格,则返回 True,否则返回 False。
istitle()
如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回 True,否则返回 False。
>>>str5='FishC'
>>>str5.istitle()
False
isupper()
如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回 True,否则返回 False。
join(sub)
以字符串作为分隔符,插入到 sub 中所有的字符之间。
>>>str5.join('12345')
>'1FishC2FishC3FishC4FishC5'
ljust(width)
返回一个左对齐的字符串,并使用空格填充至长度为 width 的新字符串。
lower()
转换字符串中所有大写字符为小写。
lstrip()
去掉字符串左边的所有空格
>>>str6=' i love you.'
>>>str6,lstrip()
'i love you.'
partition(sub)
找到子字符串 sub,把字符串分成一个 3 元组 (pre_sub, sub, fol_sub),如果字符串中不包含 sub 则返回 (‘原字符串’, ‘’, ‘’)
>>>str6='i love fishc'
>>>str6.partition('ov')
('i l','ov','e fishc')
replace(old, new[, count])
把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次。
rfind(sub[, start[, end]])
类似于 find() 方法,不过是从右边开始查找。
rindex(sub[, start[, end]])
类似于 index() 方法,不过是从右边开始。
rjust(width)
返回一个右对齐的字符串,并使用空格填充至长度为 width 的新字符串。
rpartition(sub)
类似于 partition() 方法,不过是从右边开始查找。
rstrip()
删除字符串末尾的空格。
split(sep=None, maxsplit=-1)
不带参数默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,则仅分隔 maxsplit 个子字符串,返回切片后的子字符串拼接的列表。
>>>str6
'i love fishc'
>>>str6.split()
['i','love','fishc']
>>str6.split('i')
['',' love f','shc']
splitlines(([keepends]))
在输出结果里是否去掉换行符,默认为 False,不包含换行符;如果为 True,则保留换行符。。
startswith(prefix[, start[, end]])
检查字符串是否以 prefix 开头,是则返回 True,否则返回 False。start 和 end 参数可以指定范围检查,可选。
strip([chars])
删除字符串前边和后边所有的空格,chars 参数可以定制删除的字符,可选。
>>>str7=' ssaass '
>>>str7.strip()
'ssaass'
>>>str7.strip('s')
'aa'
swapcase()
翻转字符串中的大小写。
>>>str5
'FishC'
>>>str5.swapcase()
'fISHc'
title()
返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。
translate(table)
根据 table 的规则(可以由 str.maketrans(‘a’, ‘b’) 定制)转换字符串中的字符。
>>>str7
'ssaass'
>>>str7.translate(str.maketrans('s','b'))
'bbaabb'
>>>str.maketrans('s','b')
{115,98}
注:直接用str.maketrans(‘a’, ‘b’)返回的是ASCII值。
upper()
转换字符串中的所有小写字符为大写。
zfill(width)
返回长度为 width 的字符串,原字符串右对齐,前边用 0 填充。
位置参数与关键字参数
>>>"{0} love {1}.{2}".format("I","FishC","com")
'I love FishC com'
>>>"{a} love {b}.{c}".format(a="I",b="FishC",c="com")
'I love FishC com'
>>>"{a} love {b}.{c}".format(a="I",b="FishC",c="com")
'I love FishC com'
>>>"{{0}}".format('不打印")
'{0}'
注意,位置参数(0,1,2……)只能使用在关键字参数(a,b,c……)之前,如果使用在之后会报错。
>>>'{0:.1f}{1}'.format(27.658,'GB')
'27.7GB'
冒号表示格式化符号的开始,“.1”表示四舍五入保留一位小数,f表示打印出定点数(浮点数),{1}表示位置参数。
字符串格式化符号含义
>>>'%c' % 97
'a'
>>>'%c %c %c' % (97,98,99)
"a b c'
>>>'%s' % 'i love you'
'i love you'
>>>'%d + %d = %d' % (4,5,4+5)
'4+5=9'
>>>'%o' % 10
'12'
>>>'%x' % 10
'a'
>>>'%X' % 10
'A'
>>>'%X' % 160
'A0'
>>>'%f' % 27.658
'27.658000'
>>>'%e' % 27.658
'27.65800e+01'
>>>'%g' % 27.658
'27.658'
格式化操作符辅助命令
>>>'%5.1f' % 27.658
'27.7'
>>>'%.2e' % 27.658
'2.77e+01'
>>>'%10d' % 5
' 5'
>>>'%-10d' % 5
'5 '
>>>'%+d' % 5
'+5'
>>>'%+d' % -5
'-5'
>>>'%#o' % 10
'0o12'
>>>'%#X' % 108
'0X6C'
>>>'%#d' % 10
'10'
>>>'%010d' % 5
'0000000005'
Python 的转义字符及其含义
序列
一、列表、元组和字符串的共同点
1.都可以通过索引得到每一个元素
2.默认索引值总是从0开始
3.可以通过分片的方法得到一个范围内的元素的集合
4.有很多共通的操作符(重复操作符,拼接操作符,成员关系操作符)
二、迭代:重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。
三、list()把一个可迭代对象转换成列表
>>>a=list()
>>>a
[]
>>>b='i love fishc'
>>>b=list(b)
>>>b
['i',' ','l','o','v','e',' ','f','i','s','h','c']
>>>c=(1,1,2,3,5,8,13,21,34)
>>>c
[1,1,2,3,5,8,13,21,34]
带参数时将字符穿串拆分,成为一个列表;或者将元组变成一个列表;无参数时为一个空列表。
四、tuple([iterable])把一个可迭代对象转换为元组
同list()。
五、str(obj)把obj对象转换为字符串
六、len(sub)返回sub参数的长度。
七、max()返回序列或者参数集合(ASCII码)中的最大值。
min()返回或者参数集合(ASCII码)中的最小值。
注意,数据类型要一致。
八、sum(iterable[,start=0])返回序列iterable和参数start的总和。
九、sorted()同list.sort()将数据从小到大排序。
reversed()返回的是一个迭代器的对象,需要配合list(reverse())使用才能使列表倒转。
enumerate()用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标(索引值),一般用在 for 循环当中。需要配合list(enumerate())使用。
zip()返回由各个参数的序列组成的元组。
>>>a=[1,2,3,4,5,6,7,8]
>>>b=[4,5,6,7,8]
>>>list(zip(a,b))
[(1,4),(2,5),(3,6),(4,7),(5,8)]