f-string是Python 3.6引入的最简洁高效的字符串格式化方式,以f或F开头,用{}嵌入变量、表达式、函数调用等并实时求值,支持冒号后接格式说明符控制精度、对齐等。
Python 3.6 引入的 f-string(formatted string literal)是最简洁、高效、可读性最强的字符串格式化方式。它以字母 f 或 F 开头,用花括号 {} 包裹表达式,运行时直接求值并转换为字符串。
f-string 支持直接嵌入变量名、调用函数、执行算术运算甚至访问属性和索引,无需额外转换或格式说明符(除非需要控制精
度或对齐)。
f"姓名:{name}"
f"5 + 3 = {5 + 3}" → "5 + 3 = 8"
f"{text.upper()}"、f"{items[0].title()}"
f"{user['profile']['age']}" 或 f"{obj.data.name}"
在 {} 中用冒号 : 后接格式说明符,可控制数字精度、对齐、填充、进制等,语法与 str.format() 兼容。
f"价格:{price:.2f}"
f"{name:
f"{num:04d}"(如 7 → "0007")f"{255:x}" → "ff",f"{255:X}" → "FF"
f-string 功能强大,但需注意作用域、引号嵌套和调试友好性。
立即学习“Python免费学习笔记(深入)”;
f"用户:{'Alice'}"
f"{{x}} = {x}" → "{x} = 10"
相比 % 格式化和 str.format(),f-string 更快、更直观、更少出错:
%:老旧,类型匹配易错,不支持表达式:"%s = %d" % (name, age)
.format():灵活但冗长,重复写变量名或编号:"{} = {}".format(name, age)