三種方法
說明Python三種格式化方法的文章已經很多了,下面列舉比較詳細的幾篇:
以上倒不是“茴字的八種寫法”,作為python程式設計師的常用工具,有必要在合適中的場景下,做出最有效率的選擇。這裡簡短總結如下:
簡潔對比
%格式化 | format函式 | f-string | |
---|---|---|---|
順序 | 引數必須嚴格按給定順序 | 可以指定數字編號順序, 或按引數名指定順序 | 直接字串編碼引數名, 無需順序對應 |
特徵 | 最接近c語言printf風格 | 比%更靈活,可讀性更好 | 可讀性最佳, 也最靈活 |
版本 | 全版本相容 | 2.6出現,2.7完善 | 3.6 |
% 格式化
a = '小明同學'
b = '你出去'
print('%s,%s!' % (a, b))
format函式
a = '小明同學'
b = '你出去'
print('{},{}!'.format(a, b))
f-string
a = '小明同學'
b = '你出去'
print(f'{a},{b}!')
以上三段程式碼的輸出都是:小明同學,你出去!
,是不是明顯f-string的可讀性最好,程式碼也最簡潔?
選擇建議
- 如果專案的python版本大於3.6,那麼顯然選擇f-string
- 如果python版本小於3.6但大於2.6,那麼可以選擇format函式
- 只有版本低於2.6,或者專案中有大量c程式碼,為了保持風格一致,才適合選擇原始的%格式化風格