第3章 使用字符串
![](http://picture-repository-of-heamon7.qiniudn.com/第3章 Python-使用字符串.png)
第3章 使用字符串
3.1基本字符串操作
所有标准的序列操作对字符串同样适用,但字符串不能改变。比如对字符串分片赋值是不合法的
3.2字符串格式化:精简版
'%'是字符窜格式化操作符,其左侧放置一个格式化字符串,右侧放置希望格式化的值,可以使用一个值,如字符串或数字,也可以使用含多个值的元组或字典,如果使用序列,那么序列就会被解释为一个值,如果希望格式化多个值,必须用括号括起来。
格式化字符串内必须有转换说明符,是‘%’紧跟一种基本值类型,或者是用%转义%
string模块提供另外一种叫做模板字符串的格式化值的方法,工作方式类似于很多UNIX Shell里的变量替换。substitute模板方法会用传递进来的关键字参数foo替换字符串中的$foo。
3.3字符串格式化:完整版
转换说明符包含以下几个部分:%字符,转换标志(-表示左对齐,+表示在转换值之前要加上正负号,空白字符表示整数之前保留空格,0表示转换值若干位数不够则用0填充),最小字段宽度(若为,则宽度从值元组中读出),点(.)后跟精度值(实数表示小数点位数,字符串表示最大字符宽度,表示从值元组中读出),转换类型
3.4字符串方法
字符串因为从string模块'继承'了许多方法,因此有比常规列表更多的方法。string模块中也有一些函数是不能作为字符串的方法,比如maketrans函数
一些有用的字符串常量:string.digits,string.letters,string.lowercase,string.printable,string.punctuation,string.uppercase,如果确定使用的是ASCII也可以加上ascii_前缀,如string.ascii_letters
字符串常用方法
find方法可以在一个较长的字符串中查找子字符串,它返回子串所在位置的最左端索引。没有找到则返回-1,第二和第三个参数可以指定起始点和结束点。类似的方法还有:rfind,index,rindex,count,startwith,endwith
join方法是spilt方法的逆方法,用来将字符串列表用字符串连接起来,参见spilt
lower方法返回字符串的小写字母版,参见translate,islower,capitalize,swapcase,capwords,title,istitle,upper,isupper
replace方法返回某字符串的所有匹配项均被替换之后得到的字符串,参见translate,expandtabs
spllit方法是join的逆方法,用来将字符串分割成序列,若不提供任何分隔符,默认把所有空格作为分隔符(空格,制表,换行符),参见join,rsplit,splitlines
strip方法返回去除两侧(不包括内部)空格字符串,也可以指定要去除的字符,作为参数传递即可,参见lstrip,rstrip
translate方法和replace方法类似,替换字符串中的某些部分,但是translate方法值出列单个字符,可以同时进行多个替换.在使用translate方法之前需要先构造一张转换表,可以用maketrans函数(该函数两个参数必须都是等长,不能为None)构造。translate参数的第二个可选,用来指定需要删除的字符。