作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉(zhuǎn)載,也請保留這段聲明,。謝謝,!
在許多編程語言中都包含有格式化字符串的功能,比如C和Fortran語言中的格式化輸入輸出,。Python中內(nèi)置有對字符串進(jìn)行格式化的操作%,。
模板格式化字符串時,Python使用一個字符串作為模板,。模板中有格式符,,這些格式符為真實值預(yù)留位置,并說明真實數(shù)值應(yīng)該呈現(xiàn)的格式,。Python用一個tuple將多個值傳遞給模板,,每個值對應(yīng)一個格式符。 比如下面的例子: print("I'm %s. I'm %d year old" % ('Vamei', 99))
上面的例子中,, "I'm %s. I'm %d year old" 為我們的模板,。%s為第一個格式符,表示一個字符串,。%d為第二個格式符,,表示一個整數(shù)。('Vamei', 99)的兩個元素'Vamei'和99為替換%s和%d的真實值,。 整個"I'm %s. I'm %d year old" % ('Vamei', 99) 實際上構(gòu)成一個字符串表達(dá)式,。我們可以像一個正常的字符串那樣,,將它賦值給某個變量。比如: a = "I'm %s. I'm %d year old" % ('Vamei', 99)
print(a)
我們還可以用詞典來傳遞真實值,。如下: print("I'm %(name)s. I'm %(age)d year old" % {'name':'Vamei', 'age':99})
可以看到,,我們對兩個格式符進(jìn)行了命名。命名使用()括起來,。每個命名對應(yīng)詞典的一個key,。
格式符格式符為真實值預(yù)留位置,并控制顯示的格式,。格式符可以包含有一個類型碼,,用以控制顯示的類型,如下: %s 字符串 (采用str()的顯示) %r 字符串 (采用repr()的顯示) %c 單個字符 %b 二進(jìn)制整數(shù) %d 十進(jìn)制整數(shù) %i 十進(jìn)制整數(shù) %o 八進(jìn)制整數(shù) %x 十六進(jìn)制整數(shù) %e 指數(shù) (基底寫為e) %E 指數(shù) (基底寫為E) %f 浮點數(shù) %F 浮點數(shù),,與上相同 %g 指數(shù)(e)或浮點數(shù) (根據(jù)顯示長度) %G 指數(shù)(E)或浮點數(shù) (根據(jù)顯示長度)
%% 字符"%"
可以用如下的方式,,對格式進(jìn)行進(jìn)一步的控制: %[(name)][flags][width].[precision]typecode (name)為命名 flags可以有+,-,' '或0。+表示右對齊,。-表示左對齊,。' '為一個空格,表示在正數(shù)的左側(cè)填充一個空格,,從而與負(fù)數(shù)對齊,。0表示使用0填充。 width表示顯示寬度 precision表示小數(shù)點后精度
比如: print("%+10x" % 10)
print("%04d" % 5)
print("%6.3f" % 2.3)
上面的width, precision為兩個整數(shù),。我們可以利用*,,來動態(tài)代入這兩個量。比如: print("%.*f" % (4, 1.2))
Python實際上用4來替換*,。所以實際的模板為"%.4f",。
總結(jié)Python中內(nèi)置的%操作符可用于格式化字符串操作,控制字符串的呈現(xiàn)格式,。Python中還有其他的格式化字符串的方式,,但%操作符的使用是最方便的。
|
|