网站搜索

在 Python 中掌握 f 字符串


了解如何利用 Python 的 f 字符串(格式化字符串文字)编写更清晰、更高效且更具可读性的代码。

F 字符串(或格式化字符串文字)是在 Python 3.6 中引入的,作为一种方便而简洁的格式化字符串的方法。它们提供了一种使用大括号 {} 将表达式嵌入字符串文字的方法。 F 字符串不仅更具可读性和简洁性,而且比旧的字符串格式化方法更快。 

虽然许多开发人员都了解基础知识,但本指南探讨了可以提高代码质量和效率的高级 f 字符串技术。我们将介绍嵌入表达式、格式化数字、对齐文本、使用字典和多行 f 字符串。

1. 基本使用

要创建 f 字符串,只需在字符串前添加字母 f 或 F。在字符串内,您可以在大括号 {} 内包含变量和表达式。

我们添加了两种贵重物品;一个是字符串,一个是整数。 

name = "Abid"
age = 33
print(f"Hello, my name is {name} and I am {age} years old.")

输出 :

Hello, my name is Abid and I am 33 years old.

2. 嵌入表达式

F 字符串可以直接计算大括号内的表达式。您甚至可以在大括号内运行任何计算,并且它会起作用。 

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

输出 :

The sum of 6 and 14 is 20.

您还可以在大括号内调用 Python 函数。

def get_greeting(name):
    return f"Hello, {name}!"

print(f"{get_greeting('Abid')}")

输出 :

Hello, Abid!

3. 格式化数字

F 字符串支持数字格式选项,这对于控制数值的显示非常有用。您可以使用 f 字符串来简化该过程,而不必编写多行代码来手动格式化数字。 

例如,我们将显示名为“cost_ratio”的浮点变量,具有三位小数。 

cost_ratio = 6.5789457766
print(f"Cost ratio rounded to 3 decimal places: {cost_ratio:.3f}")

输出 :

Cost ratio rounded to 3 decimal places: 6.579

在一长串数字中添加一千个分隔符。 

house_cost = 8930000

print(f"Formatted number: {house_cost:,}")

输出 :

Formatted number: 8,930,000

要将数字格式化为百分比,请使用 % 符号。

percentage = 0.25

print(f"Percentage: {percentage:.2%}")

输出 :

Percentage: 25.00%

4. 对齐文本

F 字符串允许您分别使用 <、> 和 ^将文本左对齐、右对齐或居中对齐。您还可以指定对齐的宽度,如下所示。 

id = "Id"
name = "Name"
add = "Address"
formatted_name = f"|{id:<10}|{name:>10}|{add:^10}|"
print(formatted_name)

输出 :

|Id        |      Name| Address  |

5.带有字典的F弦

F 弦可以与词典无缝协作。我们将访问大括号内的字典键。

person = {"name": "Abid", "age": 33}

print(f"Name: {person['name']}, Age: {person['age']}")

输出 :

Name: Abid, Age: 33

6. 多线F弦

F 字符串还可以与三引号一起使用来创建多行字符串。这对于格式化长文本块很有用。

name = "Abid"
age = 33
multiline_string = f"""
Name: {name}
Age: {age}
"""
print(multiline_string)

输出 :

Name: Abid
Age: 33

最后的想法

要真正领略 F 弦的强大功能和简单性,您需要亲身体验。当您开始嵌入变量、格式化数字和对齐文本时,您将看到 f 字符串如何将您的代码转换为优雅且高效的代码。这种简洁的语法不仅简化了您的编程任务,还将您的编码风格提升到专业水平。