第三章: 使用字符串

3.1 基本字符串操作

字符串不可变,所有标准的序列操作(索引,分片、乘法、判断成员资格、求长度、取最小值和最大值)对字符串同样适用


3.2 字符串格式化

使用%来实现

%的左侧放置一个字符串,右侧放置希望格式化的值,可以是一个值,也可以是多个值,多个值的时候需要用到字典或元组


>>> format="Hello,%s.,%s enough for ya?"

>>> values=('world','Hot')

>>> print format % values

Hello,world.,Hot enough for ya?


如果使用列表或者其他序列代替元组,那么序列就会被解释为一个值,只有元组和字典可以格式化多个值

>>> format = "Pi with three decmals: %.3f"

>>> from math import pi

>>> print format % pi

Pi with three decmals: 3.142



3.4 字符串的方法

字符串从string模块继承了很多方法,但是模块中还是有些常量和方法,字符串不能使用,所以字符串模块未死

>>> import string

>>> string.digits

'0123456789'

>>> string.letters

'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

>>> string.lowercase

'abcdefghijklmnopqrstuvwxyz'

>>> string.printable

'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'

>>> string.punctuation

'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'

>>> string.uppercase  

'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

>>> string.ascii_letters

'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'



find 返回子串2所在位置的最左端索引

>>> 'With a moo-moo here. and a moo-moo there'.find('moo')

7