news 2026/2/26 22:23:24

python的print(f ‘ {xxx}‘ )

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python的print(f ‘ {xxx}‘ )

在 Python 中,print(f'{xxx}')是使用f-string(格式化字符串字面值,Formatted String Literals)进行字符串格式化并输出的方式,它从 Python 3.6 版本开始引入,是目前最简洁、高效且易读的字符串格式化方法。

一、f-string 的核心语法

f-string 以 **fF作为字符串前缀,用大括号{}** 包裹变量、表达式、函数调用等内容,Python 会在运行时计算大括号内的内容,并将结果嵌入到字符串中。

基本结构:

print(f"固定文本{变量/表达式}固定文本") # 也可以用单引号或三引号 print(F'固定文本{变量/表达式}固定文本') # F和f等效 print(f'''多行固定文本{变量/表达式}多行固定文本''')

二、f-string 的常见用法

1. 基本用法:插入变量

直接在大括号中写入变量名,即可将变量值嵌入字符串。

name = "京东" version = "v1.0" # 插入单个变量 print(f"当前平台:{name}") # 输出:当前平台:京东 # 插入多个变量 print(f"接口名称:{name}图片搜索API,版本:{version}") # 输出:接口名称:京东图片搜索API,版本:v1.0
2. 高级用法:嵌入表达式

大括号内不仅可以写变量,还能直接写算术运算、条件判断、函数调用等表达式,Python 会自动计算结果。

a = 10 b = 20 # 算术运算 print(f"a + b = {a + b}") # 输出:a + b = 30 print(f"a的平方:{a ** 2}") # 输出:a的平方:100 # 条件表达式(三元运算符) score = 85 print(f"成绩等级:{'优秀' if score >= 90 else '良好'}") # 输出:成绩等级:良好 # 函数调用 def get_time(): import time return time.strftime("%Y-%m-%d") print(f"当前日期:{get_time()}") # 输出:当前日期:2025-12-19 # 字符串方法调用 text = "python" print(f"大写转换:{text.upper()}") # 输出:大写转换:PYTHON
3. 格式指定:自定义输出样式

在大括号内用 **:** 后跟格式说明符,可以对数值、字符串、日期等进行精细化格式化(如保留小数、对齐、千位分隔符等)。

4. 特殊场景:处理嵌套和特殊字符
(1)输出大括号本身

如果需要在字符串中显示{},只需用 ** 双大括号{{}}** 表示(转义)。

(2)访问字典的键值对

在大括号中直接通过字典键访问值,注意键的引号与字符串的引号区分(避免冲突)。

(3)嵌套 f-string

f-string 支持嵌套,可在大括号内再次使用 f-string 实现更复杂的格式化。

(4)多行 f-string

使用三引号('''""")可以实现多行 f-string,保留换行和缩进。

三、f-string 与其他格式化方式的对比

Python 中还有传统的 **% 格式化str.format()** 方法,相比之下 f-string 更简洁、高效。

四、注意事项

  1. Python 版本要求:f-string 仅在 Python 3.6 及以上版本可用,若使用低版本需升级或改用其他格式化方式。
  2. 变量存在性:大括号内的变量必须在当前作用域中定义,否则会抛出NameError
  3. 避免滥用复杂表达式:虽然支持复杂表达式,但过度使用会降低代码可读性,建议将复杂逻辑抽离为变量或函数。

总结

f-string 是 Python 中最推荐的字符串格式化方式,兼具简洁性和功能性,尤其在print()函数中使用时,能快速实现变量、表达式的嵌入和格式化输出,是日常开发中处理字符串的首选。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/20 13:42:38

智能动画库架构演进:2025年性能突破与生态重构

智能动画库架构演进:2025年性能突破与生态重构 【免费下载链接】react-move 项目地址: https://gitcode.com/gh_mirrors/rea/react-move React-Move作为数据驱动动画领域的技术演进典范,在生态整合与性能突破方面展现出独特价值。该库通过精巧的…

作者头像 李华
网站建设 2026/2/24 15:41:44

5个LÖVE游戏交互优化技巧:打造沉浸式玩家体验

5个LVE游戏交互优化技巧:打造沉浸式玩家体验 【免费下载链接】love LVE is an awesome 2D game framework for Lua. 项目地址: https://gitcode.com/gh_mirrors/lo/love LVE作为一款轻量级2D游戏框架,为开发者提供了丰富的Lua接口来构建出色的游戏…

作者头像 李华
网站建设 2026/2/25 9:03:40

如何打造永不充电的智能日历?ESP32墨水屏项目全解析

如何打造永不充电的智能日历?ESP32墨水屏项目全解析 【免费下载链接】portal_calendar A Portal themed e-ink calendar based on the ESP32 platform 项目地址: https://gitcode.com/gh_mirrors/po/portal_calendar 你是否曾经梦想过拥有一款永远不需要充电…

作者头像 李华
网站建设 2026/2/26 6:40:15

FaceFusion能否用于法庭证据重建?司法领域可行性讨论

FaceFusion能否用于法庭证据重建?司法领域可行性讨论 在一场深夜抢劫案的监控录像中,嫌疑人戴着口罩、帽子,面部仅露出一小部分轮廓。画面模糊,分辨率低得连眼睛形状都难以辨认。警方想通过人脸识别锁定身份,但算法返回…

作者头像 李华
网站建设 2026/2/26 11:02:08

西安大雁塔3D Tiles数据:终极三维建模解决方案

西安大雁塔3D Tiles数据:终极三维建模解决方案 【免费下载链接】西安大雁塔3dTiles数据 本仓库提供西安大雁塔的3D Tiles数据,适用于三维地理信息系统(GIS)、虚拟现实(VR)、增强现实(AR&#xf…

作者头像 李华