在許多編程語言中都包含有格式化字符串的功能,比如C和Fortran語言中的格式化輸入輸出。在Python中內(nèi)置有對(duì)字符串進(jìn)行格式化的操作符是"%"。
模板
格式化字符串時(shí),Python使用一個(gè)字符串作為模板。模板中有格式符,這些格式符為真實(shí)值預(yù)留位置,并說明真實(shí)數(shù)值應(yīng)該呈現(xiàn)的格式。Python用一個(gè)tuple將多個(gè)值傳遞給模板,每個(gè)值對(duì)應(yīng)一個(gè)格式符。
格式符
格式符為真實(shí)值預(yù)留位置,并控制顯示的格式。格式符可以包含有一個(gè)類型碼,用以控制顯示的類型,如下:
%s字符串(采用str()的顯示)
%r字符串(采用repr()的顯示)
%c單個(gè)字符
%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浮點(diǎn)數(shù)
%F浮點(diǎn)數(shù),與上相同
%g指數(shù)(e)或浮點(diǎn)數(shù)(根據(jù)顯示長度)
%G指數(shù)(E)或浮點(diǎn)數(shù)(根據(jù)顯示長度)
%%字符"%"
可以用如下的方式,對(duì)格式進(jìn)行進(jìn)一步的控制:
%[(name)][flags][width].[precision]typecode
(name)為命名
flags可以有+,-,''或0。+表示右對(duì)齊。-表示左對(duì)齊。''為一個(gè)空格,表示在正數(shù)的左側(cè)填充一個(gè)空格,從而與負(fù)數(shù)對(duì)齊。0表示使用0填充。
width表示顯示寬度
precision表示小數(shù)點(diǎn)后精度
比如:
print("%+10x"%10)
print("%04d"%5)
print("%6.3f"%2.3)
上面的width,precision為兩個(gè)整數(shù)。我們可以利用*,來動(dòng)態(tài)代入這兩個(gè)量。比如:
print("%.*f"%(4,1.2))
Python實(shí)際上用4來替換*。所以實(shí)際的模板為"%.4f"。
總結(jié)
Python中內(nèi)置的%操作符可用于格式化字符串操作,控制字符串的呈現(xiàn)格式。Python中還有其他的格式化字符串的方式,但%操作符的使用是最方便的。
以上內(nèi)容為大家介紹了Python字符串格式化(%操作符),希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://www.dietsnews.net/