Python中的字串格式化方法

songofhawk發表於2022-01-30

三種方法

說明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的可讀性最好,程式碼也最簡潔?

選擇建議

  1. 如果專案的python版本大於3.6,那麼顯然選擇f-string
  2. 如果python版本小於3.6但大於2.6,那麼可以選擇format函式
  3. 只有版本低於2.6,或者專案中有大量c程式碼,為了保持風格一致,才適合選擇原始的%格式化風格

相關文章