Python f-string 进阶:数字格式化、对齐填充、调试 = 号与嵌套表达式
Python f-string 进阶:数字格式化、对齐填充、调试 号与嵌套表达式你已经会用f{name}拼字符串了,但一到「金额保留两位小数」「日志里对齐成表格」「打印百分比」这些场景,还是习惯性地翻文档、拼str.format,甚至round()加str()一顿手动拼接。其实这些 f-string 一个冒号就能搞定。这篇把 f-string 里最实用的格式化语法过一遍,都是写业务代码天天要用的,记住就能少写一大堆胶水代码。先看痛点:手动格式化有多啰嗦price1234.5# 朴素写法:又是 round 又是补零,还容易漏sstr(round(price,2))# 1234.5,小数位没补齐成两位!print(s)# 1234.5,不是你想要的 1234.50round只做数值四舍五入,不负责「显示成两位小数」。要稳定显示两位小数,该用 f-string 的格式说明符。数字格式化:冒号后面就是格式f-string 里{值:格式},冒号后面是「格式说明符」(和format()同一套语法):price1234.5print(f{price:.2f})# 1234.50 —— .2f 固定两位小数print(f{0.1234:.1%})# 12.3% —— 百分比,自动 ×100 加 %print(f{1234567:,})# 1,234,567 —— 千分位分隔符print(f{1234567:,.2f})# 1,234,567.00 —— 千分位 两位小数print(f{255:#x})# 0xff —— 十六进制,# 加前缀print(f{42:08d})# 00000042 —— 补零到 8 位(常用于流水号)几个高频记忆点:.2f定点两位小数(金额首选,不会像 round 那样丢尾零).1%百分比,值会自动乘 100 再加%,千分位;可和.2f组合成,.2f08d整数补零到 8 位(订单号、编号常用)对齐与填充:打印成整齐的表格日志里想让字段对齐成表格,用(左对齐)、(右对齐)、^(居中),数字是宽度:rows[(apple,3),(banana,12),(kiwi,120)]forname,qtyinrows:# name 左对齐占 10 格,qty 右对齐占 5 格print(f{name:10}{qty:5})# apple 3# banana 12# kiwi 120 —— 数字右对齐,个位数天然对齐还能指定填充字符(放在对齐符号前面):print(f{标题:*^20})# *******标题********* —— 用 * 填充并居中print(f{7:04})# 0007 —— 用 0 填充右对齐(等价 04d)宽度还能用变量,嵌套一层大括号动态传:width12print(f{name:{width}})# 宽度由 width 变量决定调试神器:号自动打印「变量名值」Python 3.8 起,f-string 里在表达式后加,会同时打印表达式本身和它的值,调试时不用再写print(x , x)了:x,y3,4print(f{x},{y})# x3, y4print(f{xy})# x y7 —— 表达式原样 结果print(f{x*y})# x * y 12 —— 等号旁留空格,输出也带空格还能和格式说明符组合,调试浮点数特别顺手:importmath r2.5print(f{math.pi*r**2:.2f})# math.pi * r ** 219.63这是我个人最爱用的一招:临时排查时把print(x)改成print(f{x}),连变量名都帮你标好,删的时候也好找。嵌套表达式与调用:大括号里能写几乎任意表达式f-string 的大括号里可以放函数调用、下标、三元表达式、方法链:user{name:alice,score:87}print(f{user[name].upper()})# ALICEprint(f{及格ifuser[score]60else不及格})# 及格print(f{user.get(age,未知)})# 未知 —— 带默认值注意引号嵌套:Python 3.12 之前,f-string 里不能用和外层相同的引号。3.12 起放宽了,但为了兼容老版本,内层习惯用另一种引号(外层双引号、内层单引号)。一个常见坑:想输出真正的大括号要写两个f-string 里{有特殊含义,想输出字面的大括号(比如生成 JSON 片段、CSS)要写{{和}}:nameboxprint(f{{class: {name}}})# {class: box} —— 外层 {{ }} 转义成字面括号漏写会直接SyntaxError或把内容当表达式,生成模板字符串时尤其容易踩。小结金额/小数用:.2f(比round稳,不丢尾零),百分比:.1%,千分位:,,可组合成:,.2f。对齐用//^ 宽度,填充字符放对齐符前面;宽度可用{变量}动态传。调试用f{x}自动打印「变量名值」,还能接:.2f等格式,比手写print(x, x)省事。大括号里能写函数调用、下标、三元表达式;引号嵌套注意版本,输出字面大括号要写{{ }}。一句话记忆点:格式化的活别再手动 round拼接了,一个冒号交给 f-string;排查 bug 一个号搞定。

相关新闻

数位板压感深度调节指南:从驱动设置到软件优化,打造专属绘画手感

数位板压感深度调节指南:从驱动设置到软件优化,打造专属绘画手感

1. 这篇文章真正要解决的问题如果你刚买了一块数位板,或者已经用了很久但总觉得画出来的线条“不对劲”,那么这篇文章就是为你准备的。很多初学者,甚至一些有经验的画师,都曾陷入一个误区:认为数位板买回来&#xff0c…

2026/10/25 2:48:19 阅读更多 →
Squirrel-RIFE视频补帧终极指南:从安装到性能优化的完整解决方案

Squirrel-RIFE视频补帧终极指南:从安装到性能优化的完整解决方案

Squirrel-RIFE视频补帧终极指南:从安装到性能优化的完整解决方案 【免费下载链接】Squirrel-RIFE 效果更好的补帧软件,显存占用更小,是DAIN速度的10-25倍,包含抽帧处理,去除动漫卡顿感 项目地址: https://gitcode.co…

2026/10/26 0:54:40 阅读更多 →
5分钟掌握Video Analyzer:零代码实现智能视频内容理解

5分钟掌握Video Analyzer:零代码实现智能视频内容理解

5分钟掌握Video Analyzer:零代码实现智能视频内容理解 【免费下载链接】video-analyzer Analyze videos using LLMs, Computer Vision and Automatic Speech Recognition 项目地址: https://gitcode.com/gh_mirrors/vi/video-analyzer 在数字内容时代&#x…

2026/10/24 12:03:33 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/25 11:19:54 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/25 22:36:10 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/24 18:34:36 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/25 10:02:42 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/25 3:12:30 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/24 21:09:59 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 10:02:43 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 13:21:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 7:47:32 阅读更多 →