当前位置: 首页 > news >正文

Python中f - 字符串(f-string)

在 Python 中,f - 字符串(f-string) 是一种简洁高效的字符串格式化方法,于 Python 3.6 引入。

f-string 基本语法

fF 为前缀的字符串,使用 {表达式} 嵌入变量或计算内容:

name = "Python"
version = 3.11
print(f"我正在学习 {name} {version} 版本")  # 输出:我正在学习 Python 3.11 版本

直接嵌入变量

将变量值直接插入字符串:

age = 25
score = 95.5
print(f"年龄:{age},分数:{score}")  # 输出:年龄:25,分数:95.5

支持表达式计算

{} 内可直接写入运算表达式,自动计算结果:

a = 10
b = 3
print(f"{a} + {b} = {a + b}")       # 输出:10 + 3 = 13
print(f"{a} 的平方是 {a **2}")      # 输出:10 的平方是 100
print(f"是否偶数:{a % 2 == 0}")    # 输出:是否偶数:True

调用函数或方法

{} 中支持直接调用函数或对象方法:

def get_greeting():return "Hello"text = "hello world"
print(f"{get_greeting()}! {text.upper()}")  # 输出:Hello! HELLO WORLD

格式化数值与日期

通过 {表达式:格式说明符} 控制输出格式:

pi = 3.1415926
print(f"π ≈ {pi:.2f}")  # 输出:π ≈ 3.14from datetime import datetime
now = datetime(2025, 8, 17, 15, 30)
print(f"当前日期:{now:%Y年%m月%d日}")  # 输出:当前日期:2025年08月17日
print(f"当前时间:{now:%H:%M:%S}")     # 输出:当前时间:15:30:00

处理引号冲突

混合使用单双引号避免语法冲突:

name = "Alice"
print(f'她的名字是 "{name}"')  # 输出:她的名字是 "Alice"
print(f"他说: '我叫{name}'")   # 输出:他说: '我叫Alice'

嵌套访问复杂结构

直接访问字典、列表等嵌套数据:

user = {"name": "Bob", "info": {"age": 30, "city": "Beijing"}}
print(f"姓名:{user['name']},年龄:{user['info']['age']}")  # 输出:姓名:Bob,年龄:30

注意事项

  1. 必须添加 fF 前缀
    缺少前缀时 {} 会被当作普通文本处理。

  2. 表达式内不能直接使用反斜杠 \
    需提前定义转义字符变量:

    newline = "\n"
    print(f"换行符:{newline}结束")
    
  3. 性能优势
    f-string 在编译时解析,效率高于 % 格式化和 str.format()

http://www.lryc.cn/news/623493.html

相关文章:

  • 基于Vue的个人博客网站的设计与实现/基于node.js的博客系统的设计与实现#express框架、vscode
  • 进程互斥的硬件实现方法
  • 影刀初级B级考试大题2
  • 快速掌握Hardhat与Solidity智能合约开发
  • 模型提取的相关经验
  • JavaWeb前端(HTML,CSS具体案例)
  • C语言网络编程TCP通信实战:客户端↔服务器双向键盘互动全流程解析
  • Java线程的6种状态和JVM状态打印
  • Vue深入组件:Props 详解3
  • 2.Pod理论
  • Golang database/sql 包深度解析(二):连接池实现原理
  • 云原生俱乐部-RH134知识点总结(3)
  • PyCharm与前沿技术集成指南:AI开发、云原生与大数据实战
  • Spring Boot 项目配置 MySQL SSL 加密访问
  • Debug马拉松:崩溃Bug的终极挑战
  • 本地处理不上传!隐私安全的PDF转换解决方案
  • 华为云之Linux系统安装部署Tomcat服务器
  • Git 命令指南:从 0 到熟练、从常用到“几乎全集”(含常见报错与解决)建议收藏!!!
  • LintCode第137-克隆图
  • 学习游戏制作记录(玩家掉落系统,删除物品功能和独特物品)8.17
  • 《设计模式》工厂方法模式
  • 代码随想录算法训练营四十四天|图论part02
  • 天地图开发的优点
  • The Network Link Layer: 无线传感器中Delay Tolerant Networks – DTNs 延迟容忍网络
  • GANs生成对抗网络生成手写数字的Pytorch实现
  • VS Code配置MinGW64编译Apache Arrow C++库
  • 【k8s、docker】Headless Service(无头服务)
  • python+flask后端开发~项目实战 | 博客问答项目--模块化文件架构的基础搭建
  • C++算法题目分享:二叉搜索树相关的习题
  • 【前端基础】flex布局中使用`justify-content`后,最后一行的布局问题