在 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 字符串如何将您的代码转换为优雅且高效的代码。这种简洁的语法不仅简化了您的编程任务,还将您的编码风格提升到专业水平。