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

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: Python 3.6中引入的f-string是Python中最常用的特征之一,它可以让我们编写更干净、更高效和更易于维护的代码,我们今天就由浅入深来详细介绍使用它的一些技巧。

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

目录
相关文章
|
16天前
|
开发框架 数据建模 中间件
Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器是那些静悄悄的幕后英雄。它们不张扬,却能默默地为函数或类增添强大的功能。本文将带你了解装饰器的魅力所在,从基础概念到实际应用,我们一步步揭开装饰器的神秘面纱。准备好了吗?让我们开始这段简洁而富有启发性的旅程吧!
25 6
|
9天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
48 8
|
17天前
|
API Python
【Azure Developer】分享一段Python代码调用Graph API创建用户的示例
分享一段Python代码调用Graph API创建用户的示例
41 11
|
18天前
|
测试技术 Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界中,装饰器是那些能够为我们的代码增添魔力的小精灵。它们不仅让代码看起来更加优雅,还能在不改变原有函数定义的情况下,增加额外的功能。本文将通过生动的例子和易于理解的语言,带你领略装饰器的奥秘,从基础概念到实际应用,一起开启Python装饰器的奇妙旅程。
33 11
|
14天前
|
Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器就像是给函数穿上了一件神奇的外套,让它们拥有了超能力。本文将通过浅显易懂的语言和生动的比喻,带你了解装饰器的基本概念、使用方法以及它们如何让你的代码变得更加简洁高效。让我们一起揭开装饰器的神秘面纱,看看它是如何在不改变函数核心逻辑的情况下,为函数增添新功能的吧!
|
15天前
|
程序员 测试技术 数据安全/隐私保护
深入理解Python装饰器:提升代码重用与可读性
本文旨在为中高级Python开发者提供一份关于装饰器的深度解析。通过探讨装饰器的基本原理、类型以及在实际项目中的应用案例,帮助读者更好地理解并运用这一强大的语言特性。不同于常规摘要,本文将以一个实际的软件开发场景引入,逐步揭示装饰器如何优化代码结构,提高开发效率和代码质量。
41 6
|
19天前
|
Python
如何提高Python代码的可读性?
如何提高Python代码的可读性?
33 4
|
19天前
|
Python
Python编程入门:从零开始的代码旅程
本文是一篇针对Python编程初学者的入门指南,将介绍Python的基本语法、数据类型、控制结构以及函数等概念。文章旨在帮助读者快速掌握Python编程的基础知识,并能够编写简单的Python程序。通过本文的学习,读者将能够理解Python代码的基本结构和逻辑,为进一步深入学习打下坚实的基础。
|
23天前
|
设计模式 监控 程序员
Python中的装饰器:功能增强与代码复用的利器####
本文深入探讨了Python中装饰器的工作原理、应用场景及其在提升代码可读性、减少重复劳动方面的优势。不同于传统方法的冗长和复杂,装饰器提供了一种优雅且高效的方式来增强函数或方法的功能。通过具体实例,我们将揭示装饰器如何简化错误处理、日志记录及性能监控等常见任务,使开发者能够专注于核心业务逻辑的实现。 ####
|
22天前
|
存储 设计模式 缓存
Python中的装饰器:代码的魔法增强剂####
本文将深入探讨Python语言中一个强大而灵活的特性——装饰器。不同于传统的函数调用,装饰器提供了一种优雅的方式来扩展或修改函数行为,无需直接修改原函数代码。我们将通过实例分析,揭示装饰器的定义、工作原理及其在实际项目中的应用价值,旨在帮助开发者更好地理解和利用这一高级功能,提升代码的可读性与维护性。 ####

热门文章

最新文章