news 2026/3/23 20:49:30

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/3/13 21:14:27

fish-shell跨平台开发环境统一指南

fish-shell跨平台开发环境统一指南 【免费下载链接】fish-shell The user-friendly command line shell. 项目地址: https://gitcode.com/GitHub_Trending/fi/fish-shell 在当今多平台开发的时代,开发人员经常需要在Windows、macOS和Linux系统之间切换工作环…

作者头像 李华
网站建设 2026/3/13 5:13:27

Lsyncd终极配置指南:从基础到高级排除规则实战

Lsyncd终极配置指南:从基础到高级排除规则实战 【免费下载链接】lsyncd Lsyncd (Live Syncing Daemon) synchronizes local directories with remote targets 项目地址: https://gitcode.com/gh_mirrors/ls/lsyncd Lsyncd(Live Syncing Daemon&am…

作者头像 李华
网站建设 2026/3/19 14:25:20

Timber:Android开发必备的智能日志框架完全指南

Timber:Android开发必备的智能日志框架完全指南 【免费下载链接】timber JakeWharton/timber: 是一个 Android Log 框架,提供简单易用的 API,适合用于 Android 开发中的日志记录和调试。 项目地址: https://gitcode.com/gh_mirrors/ti/timb…

作者头像 李华
网站建设 2026/3/14 16:46:32

UI-TARS 7B DPO:重新定义GUI智能交互的革命性原生代理架构

在数字办公智能化的浪潮中,传统GUI自动化方案正面临前所未有的挑战。字节跳动最新推出的UI-TARS 7B DPO模型,以原生智能代理的全新定位,通过端到端视觉语言大模型架构,彻底颠覆了人机交互的游戏规则。 【免费下载链接】UI-TARS-7B…

作者头像 李华
网站建设 2026/3/20 0:38:04

Waifu Diffusion v1.4:新手也能轻松掌握的动漫生成神器

Waifu Diffusion v1.4:新手也能轻松掌握的动漫生成神器 【免费下载链接】waifu-diffusion-v1-4 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/waifu-diffusion-v1-4 你是否曾经梦想过用文字就能创造出精美的动漫角色?🤔 …

作者头像 李华