网易首页 > 网易号 > 正文 申请入驻

通过f-string编写简洁高效的Python格式化输出代码

0
分享至

Python 3.6中引入的f-string是Python中最常用的特征之一,它可以让我们编写更干净、更高效和更易于维护的代码,我们今天就由浅入深来详细介绍使用它的一些技巧。

对齐文本

在格式化输出时,对齐对可读性至关重要。无论是生成报告、记录数据还是创建用户界面,对齐的文本看起来都更干净,更易于阅读。

variable = "some text"
print(f"|{variable:>30}|")
print(f"|{variable:<30}|")
print(f"|{variable:^30}|")

也可以用选择的其他的字符填充空格,例如:

variable = "some text"
print(f"|{variable:*^30}|")

这些选项提供了一种通用的方式来格式化文本输出,使其更具可读性和视觉吸引力。

日期和时间格式

处理日期和时间是编程中的一项常见任务。Python的datetime模块为此提供了一组丰富的工具,f-strings可以更容易按照自己的喜好格式化日期和时间。

from datetime import datetime
now = datetime.now()
print(f"Date: {now:%d-%m-%Y}")
print(f"Time: {now:%H:%M:%S}")
print(f"Locale's Date and Time: {now:%c}")
print(f"Time in AM/PM format: {now:%I:%M %p}")

自定义日期和时间信息的输出,可以轻松地以人类可读的格式显示时间戳。

带分隔符的数字

在代码中处理数字可能会很麻烦,尤其是在可读性很重要的时候。f-string中直接使用几千分隔符来格式化大的数字:

n = 1000000000
print(f"{n:_}") # Outputs: 1_000_000_000
print(f"{n:,}") # Outputs: 1,000,000,000

在f-string中使用下划线(_)或逗号(,)作为分隔符可以使数字更具可读性。这种做法在处理财务数据、大型数据集或任何清晰度至关重要的应用程序时特别有用。

控制十进制精度

在处理浮点数时,小数位数的表示通常是至关重要的。f字符串提供了一种简单的方法来实现这种精度。

num = 13.234
print(f"{num:.2f}") # Result: 13.23

将数字四舍五入以仅显示小数点后两位。也可以完全删除小数点后十位:

print(f"{num:.0f}") # Result: 13

去掉小数点后的数位,就得到一个整数。还可以使用%符号打印百分比。

value = 0.75321
print(f"{value:.2%}") # Output: 75.32%

页可以将它与千位分隔符配对:

num = 13.234
print(f"{num:,.2%}") # Result: 1,323.40%

这种特性的组合在科学研究、金融和任何需要精确控制数字格式的情况下特别有用。

快速调试内联表达式

f-strings可以使调试过程更容易。不需要编写多行来显示变量值,可以直接在f-string中包含表达式进行快速检查,并且可以利用花括号内的等号(=)来同时显示表达式及其结果。

from dataclasses import dataclass
@dataclass
class Person:
name: str
age: int
person1 = Person(name="Alice", age=30)
person2 = Person(name="Bob", age=25)
print(f"{person1.name = }, age {person1.age = }, {person2.name = }, age {person2.age = }")

f - string中的条件表达式

也可以直接在f - string中使用条件表达式。这可以方便地创建更动态的输出,而不必编写单独的条件语句。

score = 85
print(f"Your score is {score}, which is {'passing' if score >= 50 else 'failing'}.")

这一行代码检查score的值,并在字符串中包含适当的文本。这是在字符串格式中添加条件逻辑的一种简明方法。

总结

f - string是一个非常强大的字符串格式化技术,可以优雅地表达Python字符串。它可以通过一个迷你语法满足我们基本上的所有要求,甚至运行字符串的表达式。这对于我们日常的开发是非常有帮助的。

官方文档:

https://avoid.overfit.cn/post/2fca191e2c0c45c0bdddefd17cd45e37

作者:Tarek

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
河南一公司连续两年妇女节给近2000名女员工发160万元红包,员工:过年领的2100元还没用完,又发800元,太幸福了

河南一公司连续两年妇女节给近2000名女员工发160万元红包,员工:过年领的2100元还没用完,又发800元,太幸福了

极目新闻
2026-03-07 20:45:42
演员郭晓婷和妈妈聚餐,母女俩亲密依偎,又抱又亲,眉眼一模一样

演员郭晓婷和妈妈聚餐,母女俩亲密依偎,又抱又亲,眉眼一模一样

TVB的四小花
2026-03-08 00:44:40
没想到竟然这么多工作需要保密的!网友:不让看非看被一枪毙了

没想到竟然这么多工作需要保密的!网友:不让看非看被一枪毙了

另子维爱读史
2025-12-08 20:58:22
曼联夏窗回血8000万?罗马诺爆拉什福德+霍伊伦打包方案!

曼联夏窗回血8000万?罗马诺爆拉什福德+霍伊伦打包方案!

田先生篮球
2026-03-06 19:24:00
小米“龙虾”AI一发布就杀疯了?不用动手,手机自己搞定所有事

小米“龙虾”AI一发布就杀疯了?不用动手,手机自己搞定所有事

泡泡网
2026-03-06 18:09:12
安徽女大学生睡梦中去世!死因曝光太离谱,男友自责长跪灵堂不起

安徽女大学生睡梦中去世!死因曝光太离谱,男友自责长跪灵堂不起

李橑在北漂
2026-03-06 16:44:26
第一集就要打码,Netflix新剧口碑爆了!建议收藏!

第一集就要打码,Netflix新剧口碑爆了!建议收藏!

小熊侃史
2026-03-07 22:53:10
苏联“人猿杂交”实验:5名女孩与11只猩猩参与,结局如何?

苏联“人猿杂交”实验:5名女孩与11只猩猩参与,结局如何?

谈史论天地
2026-02-28 13:35:18
伊朗:决不投降!想对一个拥有3000年历史的国家发号施令绝不可能

伊朗:决不投降!想对一个拥有3000年历史的国家发号施令绝不可能

半岛晨报
2026-03-07 11:04:49
华为,整了个新玩意

华为,整了个新玩意

放毒
2026-03-06 13:33:27
花青素主要在蓝莓的果皮里 科普中国发文:不建议大家买超大蓝莓

花青素主要在蓝莓的果皮里 科普中国发文:不建议大家买超大蓝莓

中国能源网
2026-03-06 17:53:07
伊朗宣布新导弹!普京援伊计划被发现,美防长冒火,白盯中国8天

伊朗宣布新导弹!普京援伊计划被发现,美防长冒火,白盯中国8天

阅尽天下大事
2026-03-08 01:03:40
不是取消,私家车年检迎来重磅优化,车主直呼:这才是真便民

不是取消,私家车年检迎来重磅优化,车主直呼:这才是真便民

复转小能手
2026-03-07 16:34:44
演员古力娜扎、张云龙就两人恋情发声

演员古力娜扎、张云龙就两人恋情发声

天津族
2026-03-08 01:28:02
万万没想到!两会最火提案不是医疗和就业,而是霍启刚的这一举动

万万没想到!两会最火提案不是医疗和就业,而是霍启刚的这一举动

小舟谈历史
2026-03-07 01:06:10
冲突第8天,特朗普向32国求援,普京力挺伊朗!英法德西表态

冲突第8天,特朗普向32国求援,普京力挺伊朗!英法德西表态

闻识
2026-03-08 01:17:46
男人的生理需求能有多难忍?网友:我对我老公只有动物本能

男人的生理需求能有多难忍?网友:我对我老公只有动物本能

带你感受人间冷暖
2026-02-07 03:58:56
美专家:中国已经提前准备好,开战后的第一件事,先废掉美国空军

美专家:中国已经提前准备好,开战后的第一件事,先废掉美国空军

混沌录
2026-03-05 21:57:05
赫子铭直播回应离婚,坦言已再婚,过的十分幸福,比何洁要显年轻

赫子铭直播回应离婚,坦言已再婚,过的十分幸福,比何洁要显年轻

郭蛹包工头
2026-03-07 22:52:47
原来美国打伊朗,专家早有预言,原因不止石油?下一目标或已锁定

原来美国打伊朗,专家早有预言,原因不止石油?下一目标或已锁定

小蒋爱唠嗑
2026-03-08 01:28:44
2026-03-08 02:07:00
deephub incentive-icons
deephub
CV NLP和数据挖掘知识
1941文章数 1456关注度
往期回顾 全部

科技要闻

OpenClaw爆火,六位"养虾人"自述与AI共生

头条要闻

选举24小时内举行 伊朗今天或选出最高领袖

头条要闻

选举24小时内举行 伊朗今天或选出最高领袖

体育要闻

塔图姆298天走完这段路 只用27分钟征服这座城

娱乐要闻

汪小菲曝亲妈猛料,张兰公开财产分配

财经要闻

针对"不敢休、不让休"怪圈 国家出手了

汽车要闻

逃离ICU,上汽通用“止血”企稳

态度原创

手机
本地
时尚
教育
公开课

手机要闻

网曝OPPO Find N6渲染图,或有橙色版本

本地新闻

食味印象|一口入魂!康乐烤肉串起千年丝路香

2026春夏一定要拥有的6只包,好看又百搭

教育要闻

初中三年悄悄筛人,输的常常不是脑子

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版