f-string是Python 3.6+最简洁高效的字符串格式化方式,支持变量嵌入、任意表达式求值及格式说明符控制精度对齐等。

f-string(格式化字符串字面量)是 Python 3.6+ 中最简洁、高效、可读性最强的字符串格式化方式,它直接在字符串中嵌入表达式,运行时求值,无需额外函数调用或解析步骤。
基础写法:花括号内直接写变量名
只需在字符串前加 f 或 F,再把变量名或表达式放进 {} 中即可:
>>> name = "Alice"
>>> age = 30
>>> f"Hello, {name}. You are {age} years old."
'Hello, Alice. You are 30 years old.'
支持任意表达式,不止是变量
大括号里可以是函数调用、运算、索引、属性访问等,Python 会实时执行并转换为字符串:
立即学习“Python免费学习笔记(深入)”;
-
f"{2 + 3 * 4}"→"14" -
f"{name.upper()}"→"ALICE" -
f"{'python'[0:3].title()}"→"Pyt" -
f"{len(name)} characters"→"5 characters"
格式说明符:控制数字精度、对齐、进制等
在表达式后加冒号 :,再接格式指令,类似 str.format() 的语法,但更紧凑:
-
f"{3.14159:.2f}"→"3.14"(保留两位小数) -
f"{42:b}"→"101010"(二进制) -
f"{1234567:,}"→"1,234,567"(千位分隔) f"{name: → <code>"Alice !"(左对齐,总宽10)
多行与转义:保持代码清晰和可读性
f-string 支持跨行(需每行都加 f 前缀),也兼容常规转义字符。注意:不能在大括号内换行,但可提前计算好再引用:
>>> topic = "f-strings"
>>> f"Python's {topic} make formatting "
>>> f"clean and fast."
'Python\'s f-strings make formatting clean and fast.'
若逻辑复杂,建议先赋值再插入,避免大括号内堆砌长表达式。


















