f-string是Python 3.6+的字符串格式化方法,通过f前缀和{}嵌入变量或表达式,支持数值格式化、函数调用与属性访问,语法简洁高效。

Python 的 f-string(格式化字符串字面值)自 3.6 版本引入,是一种简洁高效的字符串格式化方式。它通过在字符串前加 f 或 F 前缀,将变量或表达式直接嵌入花括号 {} 中,实现动态生成字符串。
基本用法
f-string 最常见的用途是插入变量。只需在花括号内写上变量名即可。
name = "Alice"
age = 30
print(f"My name is {name} and I am {age} years old.")
# 输出:My name is Alice and I am 30 years old.
你也可以在花括号中使用表达式,f-string 会自动计算其值。
x = 5
y = 10
print(f"The sum of {x} and {y} is {x + y}.")
# 输出:The sum of 5 and 10 is 15.
格式化数值
f-string 支持丰富的格式化选项,尤其适用于数字的显示控制。格式语法为 {expression:format_spec}。
立即学习“Python免费学习笔记(深入)”;
- 小数点精度:{value:.2f} 表示保留两位小数
- 千位分隔符:{value:,} 添加逗号分隔
- 百分比表示:{ratio:.1%} 将数值转为百分比
price = 1234.5678 ratio = 0.875print(f"Price: ${price:.2f}") # 输出:Price: $1234.57 print(f"Formatted: {price:,}") # 输出:Formatted: 1,234.5678 print(f"Discount: {ratio:.1%}") # 输出:Discount: 87.5%
调用函数和访问属性
f-string 允许在花括号中调用函数或访问对象属性,提升灵活性。
text = "hello world"
print(f"Title case: {text.title()}") # 输出:Title case: Hello World
class Person:
def init(self, name):
self.name = name
p = Person("Bob")
print(f"User: {p.name}") # 输出:User: Bob
注意:f-string 中不能使用反斜杠转义,也不能在花括号内使用双引号而不加外部单引号。
多行 f-string
对于长字符串,可使用多行 f-string,配合括号包裹更清晰。
name = "Charlie" job = "Engineer" city = "Beijing"info = ( f"Name: {name}\n" f"Job: {job}\n" f"City: {city}" ) print(info)
输出结果会按行展示对应信息,结构清晰易读。
基本上就这些。f-string 语法直观、性能高,已成为 Python 字符串格式化的首选方式。掌握其基本用法和格式控制,能让你的代码更简洁有力。










