F-string(格式化字符串字面量)简介

F-string(格式化字符串字面量)简介
最新回答
林间有雌雄

2021-01-26 08:18:09

F-string(格式化字符串字面量)是Python 3.6引入的一种高效、直观的字符串格式化方法,通过在字符串前加f或F前缀,直接在大括号{}内嵌入表达式或变量。以下是其核心特性和用法总结:

1. 基本语法
  • 前缀:字符串前加f或F(如f"text")。
  • 表达式嵌入:用{}包裹变量或任意有效Python表达式:name = "Alice"age = 30greeting = f"Hello, {name}, you are {age} years old."# 输出:Hello, Alice, you are 30 years old.
2. 表达式支持
  • 复杂运算:支持算术、函数调用等:x, y = 10, 5result = f"Sum: {x + y}" # 输出:Sum: 15
  • 函数/方法调用:def greet(name): return f"Hello, {name.capitalize()}!"print(greet("alice")) # 输出:Hello, Alice!
3. 格式化选项
  • 冒号语法:通过:指定格式(类似.format()):import mathpi = math.piformatted = f"Pi: {pi:.2f}" # 输出:Pi: 3.14
  • 常见格式化

    数字精度:{value:.3f}(保留3位小数)。

    对齐与填充:{x:>10}(右对齐,宽度10)。

    百分比:{ratio:.1%}(如0.25显示为25.0%)。

4. 转义花括号
  • 显示{}:双写花括号{{或}}:id = 42message = f"ID: {{ {id} }}" # 输出:ID: { 42 }
5. 优势与适用场景
  • 性能:比%格式化和.format()更快。
  • 可读性:语法简洁,直接嵌入表达式。
  • 动态生成:适合日志、模板渲染等需要实时拼接字符串的场景。
6. 注意事项
  • Python版本:需Python 3.6+,旧版本需用.format()或%。
  • 表达式限制:{}内不能包含注释或复杂语句(如多行代码)。
示例对比# 传统.format()"Hello, {}, age {}".format(name, age)# F-string(更简洁)f"Hello, {name}, age {age}"

总结:F-string是Python字符串格式化的首选方案,兼顾性能与易用性。在需要动态生成字符串时,优先使用F-string可提升代码简洁度和执行效率。