1. 字符串格式化
在%左侧放一个字符串(格式化字符串),而右侧放希望格式化的值。可以使用一个值,如一个字符串或数字,也可以使用多个值的元组。
基本的转换说明符
(1)%字符:标记转换说明符的开始。
(2)转换标志(可选):- 表示左对齐; + 表示在转换值之前要加上正负号;“”(空白字符)表示正数之前保留空格; 0 表示转换值若位数不够则用0填充。
(3)最小字段宽度(可选):转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出。
(4)点(。)后跟精度值(可选):如果转换的是实数,精度值就表示出现在小数点后的位数。
(5)转换类型
转换类型 | 含义 | |
d,i | 带符号的十进制整数 | |
o | 不带符号的八进制 | |
u | 不带符号的十进制 | |
X | 不带符号的十六进制 | |
f.F | 十进制浮点数 | |
r | 字符串(使用repr转换) | |
s | 字符串(使用str转换 |
2. 简单转换
只需写出转换类型
>>>’Price of eggs: $%d’ % 42
‘Price of eggs: $42
>>>’Using str: %s’ % 42L
‘Using str:42’
3. 字段宽度和精度
>>> ‘%10.2f’ % pi #字段宽10.精度2
‘3.14’
%.2f’ %pi #精度2
‘3.14’
>>> ‘%.*s’ %(5, ’guido van’)
‘Guido’
4. 字符串方法
1. find
可以在一个较长的字符串中查找子字符串,返回子串所在位置的最左端索引,没有找到则返回-1
>>>title = “Monty Python’s FlyingCircus”
>>>title.find(‘Python’)
6
>>>title.find(‘Flying’)
15
find方法还可以接受可选的起始点和结束点参数:
>>>subject= ‘$$$ Get rich now!!!$$$’
>>>subject.find(‘$$$’,1) #只提供起始点
20
>>>subject.find(‘!!!’,0,16) #提供起迟点和结束点
-1
2. join
用来在队列中添加元素(只能对字符串使用)
添加的元素。join(队列)
>>>seq=[‘1’,’2’,’3’]
>>>sep=’+’
>>>sep.join(seq)
‘1+2+3+4+5’
>>>dirs= ‘ ‘ , ‘usr’ , ‘bin’ , ‘env’
>>>’/’.join(dirs)
‘/usr/bin/env’
3. replace
返回某字符串的所有匹配项均被替换之后得到字符串
>>>’This is a test’.replace(‘is’,’eez’)
‘theez eez a test’
4. split
是join的逆方法,用来将字符串分割成序列
>>>’1+2+3+4+5’.split(‘+’)
[‘1’,’2’,’3’,’4’,’5’]
tips:如果不提供分隔符,程序会把所有空格作为分隔符(空格、制表、换行)
5. strip
strip方法返回去除2侧空格的字符串:
>>>’ internal whitespace is kept ‘.strip()
‘internal whitespace is kept’
也可指定需要去除的字符,将它们列为参加即可。
>>> ‘ **** SPAM * for * everyone!!!***.strip(‘*!’
‘SPAM * for * everyone’ #这个方法只会去除两侧的字符,所以中间的星号没有去掉