Python 的"格式化輸出"

緣起

打印字符串是編程中經(jīng)常需要處理的任務(wù), 看路飛學(xué)院的視頻了解到Python的"格式化輸出"功能.

它可以高效地打印多個字符串, 并且進行美化.


定義

"字符串的格式化輸出"就是預(yù)先制定一個模版, 在這個模版中先空出后續(xù)需要輸入的內(nèi)容, 最后, 再將內(nèi)容填充到這些空出的位置.

那么, 如何讓計算機知道哪些位置是需要填寫內(nèi)容的呢?

那么, 就需要約定一些特殊的符號, 標記這些位置.
這些特殊符號被稱為"占位符" (很形象, 占住位置. 就像大學(xué)圖書館經(jīng)??吹降? 桌子上放本書, 宣示這個座位已經(jīng)有人占了)

看一個簡單的例子:

print('這款 %s 的售價是 %d 元' % ('iPhone', 4600))

輸出結(jié)果是

這款 iPhone 的售價是 4600 元

其中, %s%d 是占位符 (%s表示后續(xù)要填入的是 String / 字符串, %d 表示后續(xù)要填入的是 digit / 整數(shù)),
而后面的 ('iPhone', 4600) 則會會在打印時分別填入 %s%d 所處的位置


格式化輸出的 3 種方式

1. 最經(jīng)典

也就是之前那個例子

print('這款 %s 的售價是 %d 元, 我愛 %s.' % ('Mac', 13000, 'Mac'))

輸出結(jié)果是:

這款 Mac 的售價是 13000 元, 我愛 Mac.

常用的占位符:

占位符 指代
%s string / 字符串
%d digit / 整數(shù)
%f float / 浮點數(shù)
%.2f float / 浮點數(shù), 保留 2 位小數(shù)
%r raw / 原生的數(shù)據(jù) (調(diào)試用)

2. 字典

my_dic = {
    'name': 'Mac',
    'price': 13000
}
print('這款 %(name)s 的售價是 %(price)d 元, 我愛 %(name)s.' % my_dic)

輸出:

這款 Mac 的售價是 13000 元, 我愛 Mac.

3. format 函數(shù)

print('這款 {0} 的售價是 {1} 元, 我愛 {0}.'.format('Mac', 13000))

輸出結(jié)果是:

print('這款 {0} 的售價是 {1} 元, 我愛 {0}.'.format('Mac', 13000))

注意:

  • {}里面的序號和 format()里面的內(nèi)容順序是對應(yīng)的, 而且{}里面的序號是從 0 開始的
  • {}里面也可以不寫數(shù)字, 那么 {} 的數(shù)量和format()里面的內(nèi)容數(shù)量要一致:
print('這款 {} 的售價是 {} 元, 我愛 {}.'.format('Mac', 13000, 'Mac'))

輸出為:

這款 Mac 的售價是 13000 元, 我愛 Mac.

參考文章


文章歷史

  • 2017/06/28 (第一次發(fā)布)

如果我的文章對你有用, 希望給些改進的建議, 或者打個"喜歡" ^_^

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容