Python - f字符串



在 3.6 版本中,Python 引入了一种新的字符串格式化方法,即 f 字符串字面量字符串插值。使用这种格式化方法,您可以在字符串常量内使用嵌入的 Python 表达式。Python f 字符串速度更快、可读性更强、更简洁且错误更少。

使用 f 字符串打印变量

要使用 f 字符串打印变量,您只需将它们放在占位符 ({}) 内即可。字符串以 'f' 前缀开头,并在其中插入一个或多个占位符,其值会动态填充。

示例

在下面的示例中,我们使用 f 字符串打印变量。

name = 'Rajesh'
age = 23
fstring = f'My name is {name} and I am {age} years old'
print (fstring)

它将产生以下 输出 -

My name is Rajesh and I am 23 years old

使用 f 字符串计算表达式

f 字符串也可用于计算 {} 占位符内的表达式。

示例

以下示例演示了如何使用 f 字符串计算表达式。

price = 10
quantity = 3
fstring = f'Price: {price} Quantity : {quantity} Total : {price*quantity}'
print (fstring)

它将产生以下 输出 -

Price: 10 Quantity : 3 Total : 30

使用 f 字符串打印字典键值对

占位符可以由字典值填充。字典是 Python 中的内置数据类型之一,用于存储键值对的无序集合。

示例

在以下示例中,我们使用 f 字符串格式化字典。

user = {'name': 'Ramesh', 'age': 23}
fstring = f"My name is {user['name']} and I am {user['age']} years old"
print (fstring)

它将产生以下 输出 -

My name is Ramesh and I am 23 years old

f 字符串中的自调试表达式

在 f 字符串中,= 字符用于自调试表达式,如下例所示 -

price = 10
quantity = 3
fstring = f"Total : {price*quantity=}"
print (fstring)

它将产生以下 输出 -

Total : price*quantity=30

使用 f 字符串调用用户定义函数

也可以在 f 字符串表达式内调用用户定义的函数。为此,只需使用函数名称并传递所需的参数即可。

示例

以下示例演示了如何在 f-string 中调用方法。

def total(price, quantity):
   return price*quantity

price = 10
quantity = 3

fstring = f'Price: {price} Quantity : {quantity} Total : {total(price, quantity)}'
print (fstring)

它将产生以下 输出 -

Price: 10 Quantity : 3 Total : 30

使用 f-string 进行精度处理

Python f-string 也支持使用精度规范格式化浮点数,就像 format() 方法和字符串格式化运算符 % 一样。

name="Rajesh"
age=23
percent=55.50

fstring = f"My name is {name} and I am {age} years old and I have scored {percent:6.3f} percent marks"
print (fstring)

它将产生以下 输出 -

My name is Rajesh and I am 23 years old and I have scored 55.500 percent marks

使用 f-string 进行字符串对齐

对于字符串变量,您可以指定对齐方式,就像我们在 format() 方法和格式化运算符 % 中所做的那样。

name='TutorialsPoint'
fstring = f'Welcome To {name:>20} The largest Tutorials Library'
print (fstring)

fstring = f'Welcome To {name:<20} The largest Tutorials Library'
print (fstring)

fstring = f'Welcome To {name:^20} The largest Tutorials Library'
print (fstring)

它将产生以下 输出 -

Welcome To       TutorialsPoint The largest Tutorials Library
Welcome To TutorialsPoint       The largest Tutorials Library
Welcome To    TutorialsPoint    The largest Tutorials Library

使用 f-string 以其他格式打印数字

当分别使用 "x"、"o" 和 "e" 时,f-string 可以显示十六进制、八进制和科学计数法的数字。

示例

以下示例演示了如何使用 f-string 格式化数字。

num= 20
fstring = f'Hexadecimal : {num:x}'
print (fstring)

fstring = f'Octal :{num:o}'
print (fstring)

fstring = f'Scientific notation : {num:e}'
print (fstring)

它将产生以下 输出 -

Hexadecimal : 14
Octal :24
Scientific notation : 2.000000e+01
python_string_formatting.htm
广告