f-string Syntactic Detail


f-string 是 formatted string literals 的简写,中文译为格式化字符串文字。

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

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

Format Standard


按指定长度,居中对齐字符:

>>> 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
					

Date and Time


按指定形式表示日期时间:

>>> 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
					

Character Alignment


字符右对齐:

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

字符左对齐:

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

字符居中对齐:

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

Notes


f-string 语句花括号内不能直接包含 \\ (反斜杠转义) 及 \n \r \t 字符 (花括号外可以),但可包括 / 正斜杠,单双引号,一般操作运算。

以下异常提示 f-string 语句中的表达式,不可以包括反斜杠:

SyntaxError: f-string expression part cannot include a backslash
					

在 Windows,使用 f-string 语句调用 CMD 命令,有时可能无法运行。

See also:

% Operator

Format String Syntax

Format String Literal

Copyright Notice: This article is exclusive original manuscripts, copyrighted by Happy Digits Software , shall not be reproduced without permission.