f-string 句法詳解


f-string 是 formatted string literals 的簡寫,中文譯為格式化字符串文字。

f-string 的作用類似 % 操作符和 format() 函數。

f-string 的用法很多,如下所示。

格式標準


按指定長度,居中對齊字符:

>>> print(f"{'Digitser': ^16}")
    Digitser
					

以科學形式,錶示輸齣結果:

>>> print(f"{1234567890:,}")
1,234,567,890
>>>
>>> print(f"{1234567890: ,}")
 1,234,567,890
					

以指定字符,填充輸齣結果左側:

>>> print(f"{123: 010}")
0000000123
>>> print(f"{123: 10}")
       123
					

按指定小數位數, 錶示輸齣結果:

>>> print(f"{123:.3f}")
123.000
>>> print(f"{123: .3f}")
 123.000
 
>>> print(f"{123.123456789:.3f}")
123.123
>>> print(f"{123.123456789: .3f}")
 123.123
 
>>> print(f"number = {123.123456789:.3f}")
number = 123.123
>>> print(f"number ={123.123456789: .3f}")
number = 123.123
					

日期時間


按指定形式錶示日期時間:

>>> from datetime import datetime
 
>>> date_time = datetime.now()
 
>>> print(f"{date_time:%Y-%m-%d %H:%M:%S}")
2022-07-29 09:20:13
					

Lambda


右對齊 Lambda 錶達式結果:

>>> print(f"{(lambda x: x **3)(5): >7}")
    125
					

字符對齊


字符右對齊:

>>> print(f"{125: >7}")
    125
					

字符左對齊:

>>> print(f"{125: <7}")
125
					

字符居中對齊:

>>> print(f"{125: ^7}")
  125
					

注意事項


f-string 語句花括號內不能直接包含 \\ (反斜杠轉義) 及 \n \r \t 字符 (花括號外可以),但可包括 / 正斜杠,單雙引號,一般操作運算。

以下異常提示 f-string 語句中的錶達式,不可以包括反斜杠:

SyntaxError: f-string expression part cannot include a backslash
					

在 Windows,使用 f-string 語句調用 CMD 命令,有時可能無法運行。

另請參閱:

% 操作符

格式字符串語法

格式化字符串文字

版權聲明: 本文為獨傢原創稿件,版權歸 樂數軟件 ,未經許可不得轉載。