Python:格式化

如何輸出格式化的字符串?我們經(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 %'
···
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 在許多編程語(yǔ)言中都包含有格式化字符串的功能,比如C和Fortran語(yǔ)言中的格式化輸入輸出。Python中內(nèi)置有對(duì)字...
    古佛青燈度流年閱讀 774評(píng)論 2 0
  • format格式化字符串方法相較于老版%格式方法的優(yōu)點(diǎn):1.不需要理會(huì)數(shù)據(jù)類型的問(wèn)題,在%方法中'%s'只能替代字...
    雷子_閱讀 1,269評(píng)論 0 1
  • 輸出信息使我們獲取程序調(diào)試信息的重要渠道; 恰到好處的輸出格式能幫我們直觀的查看調(diào)試信息。 常用格式化符種類及描述...
    老黃愛Python閱讀 2,888評(píng)論 0 3
  • Python有兩種格式化字符創(chuàng)的方式。我們簡(jiǎn)單地稱為舊式和新式。這兩種方式的格式化在Python2和Python3...
    So_ProbuING閱讀 533評(píng)論 0 0
  • 用python處理數(shù)據(jù)時(shí),不管是直接打印結(jié)果展示還是函數(shù)返回值,經(jīng)常需要格式化輸出,對(duì)于一些特殊的用法,偶爾會(huì)忘記...
    小蝸牛的成長(zhǎng)閱讀 1,370評(píng)論 0 0