字元串格式化
轉換說明符:
% 字元:标記轉換說明符的開始
轉換标志(可選):
- (減号)――左對齊
+ (加号) ――在轉換值之前要加上正負号
“”(空白字元)――正數之前保留白格
0(零) ―― 轉換值若位數不夠用0填充
最小字段寬度(可選):轉換後的字元串至少應該具有該值指定的寬度,如果是* 則寬度會從值元組中讀出
.(點)後跟精度值(可選):
如果是實數,精度值就會出現在小數點後的位數
如果是字元串,那麼該數字表示最大字段寬度
如果是 * ,精度值将會從元組中讀出
字元串格式化轉換類型:
轉換類型
含義
d,i
帶符号的十進制數
o
不帶符号的八進制數
u
不帶符号的十進制數
x
不帶符号的十六進制(小寫)
X
不帶符号的十六進制(大寫)
e
科學計數法表示的浮點數(小寫)
E
科學計數法表示的浮點數(大寫)
f,F
十進制浮點數
g
如果指數大于-4或小于精度值與e相同,其它與f 相同
G
如果指數大于-4或小于精度值與E相同,其它與f 相同
C
單字元(接受整數或單字元字元串)
r
字元串(使用repr 轉換任意 Python 對象)
s
字元串(使用str 轉換任意Python 對象)
簡單的轉換:
>>> ‘Price of eggs: $%d’ % 30
Price of eggs: $30
>>>Price of eggs: %x’% 31
Price of eggs: 1f
>>>from math import pi
>>>’Pi: %f’ % pi
‘Pi: 3.141593’
>>>’Pi: %i’ % pi
‘Pi: 3’
>>>’Using str: %s’ % 42L
’Using str: 42’
>>>’Using str: %r’ % 42L
>>>’Using str: 42L
寬度和精度
>>>’%10f’ % pi #字段寬10
‘ 3.141593’
>>>’%10.2f’ % pi #字段寬10,精度2
‘ 3.14’
>>>’%.2f’ % pi
‘3.14’
>>>’%.5s’ % ‘Guido van Rossum’ #5個字元
‘Guido’
可以使用 * 作為字段寬度或精度(或兩者都使用 *),此時,數值會從元組參數中讀出
>>>’%.*s’ % (5, ‘Guido van rossum’) #精度5
‘Guido’
符号,對齊,0填充
>>>'%010.2f' % pi #0填充,10位,2精度,10進制
'0000003.14'
>>>’%-10.2f’ % pi #左對齊,10位,2精度,10進制
‘3.14 ’
本文轉自 菜鳥的征程 51CTO部落格,原文連結:http://blog.51cto.com/songqinglong/1712240