python格式化字符串

字符串的輸出格式可以由下面的語(yǔ)法進(jìn)行控制:
%[(name)][flag][width][.][precision]type

這套格式化字符串的方法被很多編程語(yǔ)言沿用,包括c,cpp,java,python等,所以,我們明白了這一套的話,在別的語(yǔ)言里同樣也可以用,所以學(xué)一下這套語(yǔ)法還是很有用處的.
上面被[]括住的項(xiàng)表示該項(xiàng)是可選的.

其中,(name)表示命名,這個(gè)其實(shí)用得不多.這也是python對(duì)這套語(yǔ)法的擴(kuò)展,別的語(yǔ)言里沒有這一套.這里僅僅舉一個(gè)栗子,說明一下,即使沒有這一項(xiàng),也沒有多大的影響,這一項(xiàng)可以通過別的格式化操作實(shí)現(xiàn),所以這玩意只是一個(gè)語(yǔ)法糖而已,覺得麻煩的話,丟掉就好了:

print("I'm %(name)s. I'm %(age)d year old" % {'name':'Vamei', 'age':99})

結(jié)果如下:

I'm Vamei. I'm 99 year old

flag為標(biāo)記格式限定符號(hào),包含+``-``#0,+表示右對(duì)齊(會(huì)顯示正負(fù)號(hào)),-表示左對(duì)齊,前面默認(rèn)為填充空格(即默認(rèn)右對(duì)齊),0表示填充0胰默,#表示八進(jìn)制時(shí)前面補(bǔ)充0,16進(jìn)制數(shù)填充0x,二進(jìn)制填充0b.

width用于表示寬度或者說最短長(zhǎng)度,一個(gè)字符占據(jù)一個(gè)寬度,包含小數(shù)點(diǎn),當(dāng)要輸出的內(nèi)容對(duì)應(yīng)的字符數(shù)小于width時(shí)會(huì)按照前面flag的指示來(lái)進(jìn)行填充,如果flag為空,那么用空格填充.

precision一般只對(duì)小數(shù)有效,控制輸出在小數(shù)點(diǎn)之后的位數(shù).

type表示類型碼,具體如下表所示:

類型碼 說明
%s 字符串 (采用str()的顯示)
%r 字符串 (采用repr()的顯示)
%c 單個(gè)字符
%b 二進(jìn)制整數(shù)
%d 有符號(hào)十進(jìn)制整數(shù)
%i 有符號(hào)十進(jìn)制整數(shù)
%o 無(wú)符號(hào)八進(jìn)制整數(shù)
** %x ** 輸出使用小寫字母a~f,表示無(wú)符號(hào)十六進(jìn)制整數(shù)
%X 輸出使用大寫字母A~F,表示無(wú)符號(hào)十六進(jìn)制整數(shù)
%e 指數(shù) (基底寫為e)
%E 指數(shù) (基底寫為E)
%f 浮點(diǎn)數(shù)
%F 浮點(diǎn)數(shù),與上相同
%g 指數(shù)(e)或浮點(diǎn)數(shù) (根據(jù)顯示長(zhǎng)度)
%G 指數(shù)(E)或浮點(diǎn)數(shù) (根據(jù)顯示長(zhǎng)度)
%u 無(wú)符號(hào)十進(jìn)制整數(shù)

這套語(yǔ)法其實(shí)是一個(gè)非常小的DSL,很有意思,有興趣的同學(xué)可以練習(xí)一下,自上而下分析設(shè)定,做一個(gè)小型的parser.

補(bǔ)充

一些不常用,但是很有用的東西.

類型碼 說明
hh 和整數(shù)類型碼一起使用,表示一個(gè)signed char或者unsigned char(8bit),常用有%hhx表示用16進(jìn)制輸出一個(gè)1字節(jié)的unsigned char類型
ll 和整數(shù)類型碼一起使用,表示一個(gè)long long int或者unsigned long long int類型,比如%llx表示用16進(jìn)制輸出一個(gè)4字節(jié)的unsigned long long int類型
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子绢掰,更是在濱河造成了極大的恐慌令野,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,222評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件忆矛,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡请垛,警方通過查閱死者的電腦和手機(jī)催训,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,455評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)宗收,“玉大人漫拭,你說我怎么就攤上這事』旎” “怎么了采驻?”我有些...
    開封第一講書人閱讀 157,720評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)匈勋。 經(jīng)常有香客問我礼旅,道長(zhǎng),這世上最難降的妖魔是什么洽洁? 我笑而不...
    開封第一講書人閱讀 56,568評(píng)論 1 284
  • 正文 為了忘掉前任痘系,我火速辦了婚禮,結(jié)果婚禮上饿自,老公的妹妹穿的比我還像新娘碎浇。我一直安慰自己,他們只是感情好璃俗,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,696評(píng)論 6 386
  • 文/花漫 我一把揭開白布奴璃。 她就那樣靜靜地躺著,像睡著了一般城豁。 火紅的嫁衣襯著肌膚如雪苟穆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,879評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音雳旅,去河邊找鬼跟磨。 笑死,一個(gè)胖子當(dāng)著我的面吹牛攒盈,可吹牛的內(nèi)容都是我干的抵拘。 我是一名探鬼主播,決...
    沈念sama閱讀 39,028評(píng)論 3 409
  • 文/蒼蘭香墨 我猛地睜開眼型豁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼僵蛛!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起迎变,我...
    開封第一講書人閱讀 37,773評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤充尉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后衣形,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體驼侠,經(jīng)...
    沈念sama閱讀 44,220評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,550評(píng)論 2 327
  • 正文 我和宋清朗相戀三年谆吴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了倒源。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,697評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡句狼,死狀恐怖笋熬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鲜锚,我是刑警寧澤,帶...
    沈念sama閱讀 34,360評(píng)論 4 332
  • 正文 年R本政府宣布苫拍,位于F島的核電站芜繁,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏绒极。R本人自食惡果不足惜骏令,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,002評(píng)論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望垄提。 院中可真熱鬧榔袋,春花似錦、人聲如沸铡俐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,782評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)审丘。三九已至吏够,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锅知。 一陣腳步聲響...
    開封第一講書人閱讀 32,010評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工播急, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人售睹。 一個(gè)月前我還...
    沈念sama閱讀 46,433評(píng)論 2 360
  • 正文 我出身青樓桩警,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親昌妹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子捶枢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,587評(píng)論 2 350

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

  • 在許多編程語(yǔ)言中都包含有格式化字符串的功能,比如C和Fortran語(yǔ)言中的格式化輸入輸出捺宗。Python中內(nèi)置有對(duì)字...
    古佛青燈度流年閱讀 758評(píng)論 2 0
  • format格式化字符串方法相較于老版%格式方法的優(yōu)點(diǎn):1.不需要理會(huì)數(shù)據(jù)類型的問題,在%方法中'%s'只能替代字...
    雷子_閱讀 1,237評(píng)論 0 1
  • 最近在查找資料的時(shí)候柱蟀,發(fā)現(xiàn)一篇文章講解《Python格式化字符串》,文章講的很透徹蚜厉,特此轉(zhuǎn)載长已。 格式化操作符(%)...
    everfight閱讀 473評(píng)論 0 1
  • 萬(wàn)般皆下品,唯有讀書高昼牛。 這段時(shí)間學(xué)習(xí)了下Python术瓮。看來(lái)寫資料贰健。算是讀書筆記吧胞四,記錄一下便于回顧。假期綜合癥伶椿,...
    小學(xué)生的博客閱讀 469評(píng)論 0 0
  • 連載小說 (一) 落馬鎮(zhèn)的酒出名辜伟,烈的很,連鎮(zhèn)東頭的李寡婦最多也只能喝上兩大碗脊另。每次李寡婦喝完酒导狡,李寡婦都會(huì)故意不...
    我有6個(gè)男神閱讀 174評(píng)論 0 0