- 字符串都是不可变的;
- 字符串格式化使用格式化操作符“%”来实现;
- 如果右操作数是元组的话,则其中的每个元素都会被单独格式化,每个值都需要一个对应的转换说明符。
1 >>> "%s plus %s equal %s" % (1, 1, 2) 2 '1 plus 1 equal 2'
1、基本的转化说明符:
1.1 字段宽度和精度
转化说明符可以包含字段的宽度和精度。字段宽度是转换后的值所保留的最小字符个数,精度则是结果中应该包含的小数位数;这两个参数都是整数(首先是字段宽度,然后是精度),通过点号(.)分隔。
1 >>> '%10f' % pi 2 ' 3.141593' 3 >>> '%10.2f' % pi 4 ' 3.14' 5 >>> '%.2f' % pi 6 '3.14'
1.2 符号、对齐和0填充
在字段宽度和精度之前可以放置一个“标志”,该标志可以是零,加号,减号,空格。
- 零表示数字将会用0进行填充;
- 减号(-)用来左对齐数值;
- 空格(“ ”)用来表示在正数前加上空格;
- 加号(+)用来表示标出正数负数的符号位;
1 >>> '%010.2f' % pi 2 '0000003.14' 3 >>> '%-10.2f' % pi 4 '3.14 ' 5 >>> '% .2f' % pi 6 ' 3.14' 7 >>> '%+.2f' % pi 8 '+3.14'
注意:使用*运算符可以从转换元组中读出字段宽度和精度
>>> '%*.*f' % (10, 2, pi) ' 3.14'
2、字符串支持的方法
字符串的方法很多,这里只是列出来常用的几个。
2.1 find方法:在一个较长的字符串中查找子字符串,返回子字符串所在位置最左端的索引。
2.2 join方法:通过某个连接符将序列中的元素转化成新的字符串。注意:序列中的元素必须是字符串。
2.3 lower方法:将字符串中的大写字母转化成小写,并返回。
2.4 replace方法: 替换指定字符串中的子字符串,并将结果返回。
2.5 split方法: join的逆方法,将字符串分隔成序列。
2.6 strip方法:返回去除两侧空格的字符串。
2.7 translate方法:translate方法和replace方法一样,可以替换字符串中的某些部分,但translate方法只处理字符。它的优势在于可以同时进行多个替换,有些时候比replace效果高的多。
注意:translate转化之前需要先创建一张转换表,maketrans函数接受两个参数,表示第一个字符串中的每个字符都用第二个字符串中相同位置的字符替换。
1 >>> test = 'Python is a good language' 2 >>> test.find('good') 3 12 4 >>> test.split(' ') 5 ['Python', 'is', 'a', 'good', 'language'] 6 >>> ' '.join(['Python', 'is', 'a', 'good', 'language']) 7 'Python is a good language' 8 >>> test.lower() 9 'python is a good language' 10 >>> ' Python '.strip() 11 'Python' 12 >>> test.replace('good', 'interesting') 13 'Python is a interesting language' 14 >>> from string import maketrans 15 >>> table = maketrans('as','kg') 16 >>> test.translate(table) 17 'Python ig k good lkngukge'