二、字符串(str类)
提示:以下所有方法都是类中的方法,第一个参数都是self,统一都没有写出。
包含的方法有:
1、capitalize() #首字母变大写
>>> name=‘hello world‘
>>> name.capitalize()
‘Hello world‘
2、center(width, fillchar=None)#内容居中,width:总长度;fillchar:空白处填充内容,默认无
>>> name=‘hello world‘
>>> name.center(20,‘#‘)
‘####hello world#####‘
3、count(x,start=None, end=None)#子序列x的个数参数可以接开始和结束位置
>>> name=‘abcdd‘
>>> name.count(‘d‘,0,9)
2
>>> name.count(‘d‘,0,3)
0
>>> name.count(‘d‘,0,4)
1
4、find(x,start=None, end=None)#查找子序列x的位置,如果没有找到则返回-1
>>> name=‘abcd‘
>>> name.find(‘a‘)
0
>>> name.find(‘d‘)
3
>>> name.find(‘e‘)
-1
5、index(x,start=None, end=None)#查找子序列x的位置,如果没有找到则异常
>>> name.index(‘a‘)
0
>>> name.index(‘d‘)
3
>>> name.index(‘e‘)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
6、endswith(x)#是否以x结束
>>> name=‘abcd‘
>>> name.endswith(‘a‘)
False
>>> name.endswith(‘d‘)
True
7、startswith(x)#是否以x开始
>>> name=‘abcd‘
>>> name.startswith(‘a‘)
True
>>> name.startswith(‘d‘)
False
8、expandtabs(tabsize=None)#将tab转换成空格,默认一个tab转换成8个空格
>>> name=‘ab cd‘
>>> name.expandtabs(4)
‘ab cd‘
9、format()#字符串格式化,4种方式
9-1:
str1=‘I am {0}, age {1}‘
str1.format(‘alex‘,24)
9-2:
str2=‘I am {ss}, age {dd}‘
str2.format(ss=‘alex‘,dd=24)#类似于函数的形参
9-3:
li=[‘alex‘,24]
str3=‘I am {0}, age {1}‘
str3.format(*li)#列表的元素个数必须和需要的参数相等
9-4:
dic={‘ss‘:alex,‘dd‘:24}
str4=‘I am {ss}, age {dd}‘
str4.format(**dic)#字典的key必须和形参的名称一致
10、isalnum()#是否是字母和数字
>>> name=‘abcd‘
>>> name.isalnum()
True
11、isalpha()#是否是字母
>>> name=‘abcd‘
>>> name.isalpha()
True
12、isdigit()#是否是数字
>>> name=‘abcd‘
>>> name.isdigit()
False
13、islower()#是否小写lower() 是把字符串中的大写变为小写
>>> name=‘abcd‘
>>> name.islower()
True
>>> name=‘Abcd‘
>>> name.islower()
False
14、isupper()#是否是大写upper() 是把字符串中的小写变为大写
>>> name=‘abcd‘
>>> name.isupper()
False
>>> name=‘ABCD‘
>>> name.isupper()
True
15、istitle()#是否是标题title() 是把字符串设置为标题,也就是每个单词的首字母大写
>>> name=‘hello world‘
>>> name.istitle()
False
16、isspace()#是否是空格
>>> name=‘ ‘
>>> name.isspace()
True
17、join()#连接返回的是一个字符串,与之相反的是split
>>> name=‘abcd‘
>>> ‘_‘.join(name)
‘a_b_c_d‘
>>> name=[‘a‘,‘b‘,‘c‘,‘d‘]
>>> ‘_‘.join(name)
‘a_b_c_d‘
18、split(sep,maxsplit=None)#分割,maxsplit最多分割几次,默认是全分割,返回的值是一个列表
>>> name=‘a,b,c,d‘
>>> name.split(‘,‘)#全分割
[‘a‘, ‘b‘, ‘c‘, ‘d‘]
>>> name.split(‘,‘,2)#只分割前两个字符串
[‘a‘, ‘b‘, ‘c,d‘]
19、ljust(width, fillchar=None)#内容左对齐,width为宽度,右侧填充指定字符,fillchar默认为空rjust() 是右对齐,语法格式一样
>>> name=‘abcd‘
>>> name.ljust(20,‘#‘)
‘abcd################
20、lstrip()#移除左侧空白rstrip() 移除右侧空白strip() 移除两侧空白
>>> name=‘ abcd ‘
>>> name.lstrip()
‘abcd ‘
>>> name.rstrip()
‘ abcd‘
>>> name.strip()
‘abcd‘
21、partition(sep)#以sep为分割点 分割,前,中,后三部分
>>> name=‘abc‘
>>> name.partition(‘b‘)
(‘a‘, ‘b‘, ‘c‘)
22、replace(old,new,count=None)#替换,count参数是指定替换个数,默认是全部替换
>>> name=‘abcd‘
>>> name.replace(‘a‘,‘e‘)
‘ebcd‘
>>> name=‘1122334444‘
>>> name.replace(‘4‘,‘5‘,2)#替换2个4
‘1122335544‘
>>> name.replace(‘4‘,‘5‘,3)#替换3个4
‘1122335554
23、swapcase()#大写变小写,小写变大写
>>> name=‘ABcd‘
>>> name.swapcase()
‘abCD‘
24、translate(table, deletechars=None)#字符转换,需要先做一个对应表table,deletechars默认是空,若指定了一个字符,则被指定的字符将会被删除
import string
intab = "aeiou"
outtab = "12345"
trantab = string.maketrans(intab, outtab)
str1 = "this is string example....wow!!!"
print str.translate(trantab, ‘xm‘)#str1中的含有转换表中的字符都会被转换,x和m字符将会被删除。
输出结果:th3s 3s str3ng 21pl2....w4w!!!
下一篇