如何輸出格式化的字符串?我們經(jīng)常會(huì)輸出類似'親愛的xxx你好!你xx月的話費(fèi)是xx,余額是xx'之類的字符串,而xxx的內(nèi)容都是根據(jù)變量變化的,所以,需要一種簡(jiǎn)便的格式化字符串的方式。
py-str-format
在Python中,采用的格式化方式和C語(yǔ)言是一致的,用%實(shí)現(xiàn),舉例如下:
>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
你可能猜到了,%運(yùn)算符就是用來(lái)格式化字符串的。在字符串內(nèi)部,%s表示用字符串替換,%d表示用整數(shù)替換,有幾個(gè)%?占位符,后面就跟幾個(gè)變量或者值,順序要對(duì)應(yīng)好。如果只有一個(gè)%?,括號(hào)可以省略。
常見的占位符有:
%d整數(shù)
%f浮點(diǎn)數(shù)
%s字符串
%x十六進(jìn)制整數(shù)
其中,格式化整數(shù)和浮點(diǎn)數(shù)還可以指定是否補(bǔ)0和整數(shù)與小數(shù)的位數(shù):
>>> '%2d-%02d' % (3, 1)
' 3-01'
>>> '%.2f' % 3.1415926
'3.14'
如果你不太確定應(yīng)該用什么,%s永遠(yuǎn)起作用,它會(huì)把任何數(shù)據(jù)類型轉(zhuǎn)換為字符串:
>>> 'Age: %s. Gender: %s' % (25, True)
'Age: 25. Gender: True'
有些時(shí)候,字符串里面的%是一個(gè)普通字符怎么辦?這個(gè)時(shí)候就需要轉(zhuǎn)義,用%%來(lái)表示一個(gè)%:
>>> 'growth rate: %d %%' % 7
'growth rate: 7 %'
···