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)是最简洁、高效、可读性最强的字符串格式化
方式。它以字母 f 或 F 开头,用花括号 {} 包裹表达式,运行时直接求值并转换为字符串。
基本用法:变量插值与表达式计算
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内存限制【解决方案】

