f 是 Python 3.6+ 中格式化字符串字面值(f-string)的标识符,用于在字符串中嵌入变量或表达式并实时求值;它比 % 和 .format() 更简洁高效,支持内联计算与格式化,但不支持嵌套 f-string 或未闭合引号。
Python 中字符串前面的 f 是 f-string 的标识符,表示这是一个“格式化字符串字面值”(formatted string literal),从 Python 3.6 开始正式支持。
在字符串前加 f 或 F(大小写均可),然后在字符串中用 {} 包裹变量名或任意合法表达式,Python 会在运行时自动计算并插入结果。
f"Hello {name}" → 如果 name = "Alice",结果是 "Hello Alice"
f"2 + 3 = {2 + 3}" → 直接输出 "2 + 3 = 5"
f
"π ≈ {3.1415926:.3f}" → 格式化为三位小数:"π ≈ 3.142"
别把 f 和其他字符串前缀混淆:
bytes 类型,如 b'hello')相比旧方式,f-string 更简洁、高效、可读性更强:
% 格式化(如 "%s: %d" % (name, age))更直观.format()(如 "{}: {}".format(name, age))少写重复内容f"{x if x > 0 else 'neg'}")使用 f-string 时需留意几个常见限制:
f"{print('hi') # comment}" 会报错)=(Python 3.8+ 可用海象运算符 :=,如 f"{x:=10}")f"{{literal}}" → 输出 {literal}