Python字符串格式化教程_fstring全面解析

发布时间 - 2026-01-06 00:00:00    点击率:
f-string是Python 3.6引入的最简洁高效的字符串格式化方式,以f或F开头,用{}嵌入变量、表达式、函数调用等并实时求值,支持冒号后接格式说明符控制精度、对齐等。

f-string 是什么?

Python 3.6 引入的 f-string(formatted string literal)是最简洁、高效、可读性最强的字符串格式化方式。它以字母 fF 开头,用花括号 {} 包裹表达式,运行时直接求值并转换为字符串。

基本用法:变量插值与表达式计算

f-string 支持直接嵌入变量名、调用函数、执行算术运算甚至访问属性和索引,无需额外转换或格式说明符(除非需要控制精度或对齐)。

  • 插入变量:f"姓名:{name}"
  • 计算表达式:f"5 + 3 = {5 + 3}""5 + 3 = 8"
  • 调用方法:f"{text.upper()}"f"{items[0].title()}"
  • 多级访问:f"{user['profile']['age']}"f"{obj.data.name}"

格式控制:在花括号里加冒号

{} 中用冒号 : 后接格式说明符,可控制数字精度、对齐、填充、进制等,语法与 str.format() 兼容。

  • 保留两位小数:f"价格:{price:.2f}"
  • 左对齐并占宽10字符:f"{name:
  • 补零显示4位数:f"{num:04d}"(如 7 → "0007"
  • 十六进制与大写:f"{255:x}" → "ff",f"{255:X}" → "FF"

实用技巧与注意事项

f-string 功能强大,但需注意作用域、引号嵌套和调试友好性。

立即学习“Python免费学习笔记(深入)”;

  • 花括号内写的是 Python 表达式,必须在当前作用域中可访问
  • 外层用双引号,内部可用单引号(反之亦然),避免转义:f"用户:{'Alice'}"
  • 要显示字面量花括号,用两个大括号:f"{{x}} = {x}""{x} = 10"
  • 不支持反斜杠换行,长表达式建议先赋值再插入,提升可读性

对比其他格式化方式

相比 % 格式化和 str.format(),f-string 更快、更直观、更少出错:

  • %:老旧,类型匹配易错,不支持表达式:"%s = %d" % (name, age)
  • .format():灵活但冗长,重复写变量名或编号:"{} = {}".format(name, age)
  • f-string:所见即所得,性能最优,推荐作为默认选择


# python 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何用PHP工具快速搭建高效网站?  如何快速搭建高效服务器建站系统?  如何在宝塔面板创建新站点?  php json中文编码为null的解决办法  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Laravel如何使用Vite进行前端资源打包?(配置示例)  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Laravel如何与Pusher实现实时通信?(WebSocket示例)  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Android仿QQ列表左滑删除操作  如何在橙子建站中快速调整背景颜色?  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  如何在IIS中新建站点并配置端口与物理路径?  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  php 三元运算符实例详细介绍  Firefox Developer Edition开发者版本入口  如何快速搭建虚拟主机网站?新手必看指南  敲碗10年!Mac系列传将迎来「触控与联网」双革新  Linux后台任务运行方法_nohup与&使用技巧【技巧】  用v-html解决Vue.js渲染中html标签不被解析的问题  如何快速上传建站程序避免常见错误?  Laravel如何实现多对多模型关联?(Eloquent教程)  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  Linux网络带宽限制_tc配置实践解析【教程】  UC浏览器如何设置启动页 UC浏览器启动页设置方法  Laravel如何升级到最新版本?(升级指南和步骤)  公司网站制作需要多少钱,找人做公司网站需要多少钱?  深入理解Android中的xmlns:tools属性  🚀拖拽式CMS建站能否实现高效与个性化并存?  zabbix利用python脚本发送报警邮件的方法  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  Laravel如何生成URL和重定向?(路由助手函数)  Android自定义控件实现温度旋转按钮效果  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  js实现点击每个li节点,都弹出其文本值及修改  如何在宝塔面板中创建新站点?  晋江文学城电脑版官网 晋江文学城网页版直接进入  phpredis提高消息队列的实时性方法(推荐)  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  如何快速重置建站主机并恢复默认配置?  Python面向对象测试方法_mock解析【教程】  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  EditPlus中的正则表达式 实战(1)  Android GridView 滑动条设置一直显示状态(推荐)  活动邀请函制作网站有哪些,活动邀请函文案?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  js代码实现下拉菜单【推荐】  打开php文件提示内存不足_怎么调整php内存限制【解决方案】