天天看點

Python使用string.Formatter()制作列印模闆

工作時,會希望使用統一的列印模闆來處理散落在各處的列印需求,尤其是在記錄日志時,如果直接使用

print

函數,那麼代碼會顯得尤其繁瑣。這時,比較好的做法是編寫一個函數來進行封裝。而Python的

string.Formatter

類提供了字元串格式化功能。制作字元串模闆後,通過調用

format(value[, format_spec])

方法,就可以依照模闆生成一個格式化的字元串,而這個字元串再結合

print

等函數,可以在很多地方得到應用。

下面看一個示例:

import datetime

# 設計字元串模闆
template = ('\nDate: "{}", Temperature: {:.1f}, Condition: "{}"')

# 根據字元串模闆生成字元串
log = template.format(datetime.datetime.now(), 23.17, 'good')

# 列印格式化後的字元串
print(log)
           

簡單的三個步驟完成任務:

  1. 根據實際需求設計一個字元串模闆,也就是代碼中的

    template

    ,其中,

    {}

    是占位符,在占位符裡可以引入各種格式化選項,如

    1f

    等等。
  2. 在系統運作過程中,将實時資料按模闆指定的格式組合成新的字元串。
  3. 應用該字元串,例如使用

    print

    函數進行列印。

通過上述簡單的過程,便可以優雅地完成格式化字元串的功能,并和其應用過程(例如

print

)進行解耦。