重学 Python!通过 f-string 让你的 Python 输出代码更简洁高效

f-string 是 Python 3.6 及以上版本引入的一种字符串格式化方法,它提供了简洁、直观的方式来嵌入表达式和变量。它可以让我们编写更干净、更高效和更易于维护的代码,我们今天就由浅入深来详细介绍使用它的一些技巧。

1、在字符串中显示变量

这是 f-string 的基本用法,在字符串中显示变量

name = "Alice"
age = 30
print(f"My name is {name} and I am {age} years old.")

# Output: 
# My name is Alice and I am 30 years old.

f-string 也支持多行字符串:

name = "Bob"
age = 25
info = f"""
Name: {name}
Age: {age}
"""
print(info)

# Output:
# Name: Bob
# Age: 25
2、带分隔符的数字

在代码中处理值很大的数字可读性比较困难,f-string 中直接使用几千分隔符来格式化大的数字:

n = 1000000000
print(f"{n:_}")
print(f"{n:,}")

# Output:
# 1_000_000_000
# 1,000,000,000

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

3、控制数字精度

可以使用 f-string 格式说明符来格式化数字

value = 123.456789
print(f"Formatted value: {value:.2f}")  # 保留两位小数

# Output:
# Formatted value: 123.46

还可以使用%符号打印百分比

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

# Output:
# 75.32%

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

num = 13.234
print(f"{num:,.2%}")

# Output:
# 1,323.40%

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

4、日期格式化

可以在 f-string 中格式化日期:

from datetime import datetime

now = datetime.now()
print(f"Current date and time: {now:%Y-%m-%d %H:%M:%S}")

# Output:
# Current date and time: 2022-01-01 12:00:00

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

5、嵌套字典

可以直接访问字典中的值:

person = {"name": "Charlie", "age": 28}
print(f"{person['name']} is {person['age']} years old.")

# Output:
# Charlie is 28 years old.
6、表达式计算

你可以在 f-string 中直接使用表达式:

a = 5
b = 10
print(f"The sum of {a} and {b} is {a + b}.")

# Output:
# The sum of 5 and 10 is 15.

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

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

# Output:
# Your score is 85, which is passing.

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

7、对齐文本

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

variable = "内容文本"
print(f"|{variable:>20}|")
print(f"|{variable:<20}|")
print(f"|{variable:^20}|")

# Output:
# |           内容文本|
# |内容文本           |
# |     内容文本     |

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

variable = "内容文本"
print(f"|{variable:*^20}|")

# Output:
# |***内容文本***|

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

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


如果你喜欢本文,欢迎点赞,并且关注我们的微信公众号:Python技术极客,我们会持续更新分享 Python 开发编程、数据分析、数据挖掘、AI 人工智能、网络爬虫等技术文章!让大家在Python 技术领域持续精进提升,成为更好的自己!

添加作者微信(coder_0101),拉你进入行业技术交流群,进行技术交流~