python基础学习第三章之字符串

上一章涉及到的操作,即标准的序列操作,均可用于字符串

因为字符串是不可变的,故分片赋值是不合法的

字符串格式化操作符%

>>> format="Hello,%s,%s enough for ya?"
>>> value=('world','Hot')
>>> print format % value
Hello,world,Hot enough for ya?

转化说明符:

https://blog.csdn.net/sszqxt/article/details/78977103

'%10.2f'%pi   表示字段宽10,显示小数点后两位

'%010.2f'%pi  用0补充前面空格

'-%10.2f'%pi 左对齐

'+%10.2f'%pi 右对齐

P48,代码清单3-1

字符串方法

find在一个字符串中找子串,没有时返回-1,可以改变起始点和终止点的参数

>>> number='asdfhjkasdf'

>>> number.find('a',2)
7

join用于连接序列中的元素

>>> symbol='+'
>>> symbol.join('123456')
'1+2+3+4+5+6'

split与join相逆,将字符串分割成序列

>>> '1+2+3+4+5'.split('+')
['1', '2', '3', '4', '5']

lower将大写转化成小写,title则与它相反

>>> 'ASDFGGH'.lower()
'asdfggh'

replace

>>> 'you are a dog,he is a dog too'.replace('dog','god')
'you are a god,he is a god too'

translate 与replace差不多,不过只能替换一个单个字符,不过优势是可以进行多个替换

当需要将字符c换成k,把s换成z时,可以用translate,但需要完成一张转换表

>>> from string import maketrans
>>> table = maketrans('cs','kz')###构造转换表
>>> len(table)
256
>>> table[97:123]  ###显示小写字母部分,且说明cs已经被kz替换
'abkdefghijklmnopqrztuvwxyz'
>>> 'this is an incredible test'.translate(table)        #开始替换字符串
'thiz iz an inkredible tezt'
>>> 'this is an incredible test'.translate(table,' ')    #第二个参数用来指定需要删除的字符
'thizizaninkredibletezt'
>>> 

strip 返回去除两侧的字符串或者特定字符

>>> '          asd       '.strip()
'asd'
>>> '       ***!!!asdf!!!***       '.strip('*!')     ##两边是空格时,改方法不起作用
'       ***!!!asdf!!!***       '
>>> '***!!!asdf!!!***'.strip('*!')
'asdf'

猜你喜欢

转载自blog.csdn.net/qq_25785565/article/details/87801391