Python:
字符串插值

如何做:

在Python 3.6及以上版本中,你可以使用f-string来插值字符串。以下是如何做的:

name = 'Alice'
age = 30
greeting = f"Hello, {name}. You are {age} years old."

print(greeting)

输出:

Hello, Alice. You are 30 years old.

你也可以在花括号内使用表达式:

a = 5
b = 10
info = f"五加十等于{a + b},不是{2 * (a + b)}."

print(info)

输出:

五加十等于15,不是30。

深入探索

在Python 3.6之前,.format()是字符串插值的方式:

name = 'Bob'
age = 25
greeting = "Hello, {}. You are {} years old.".format(name, age)

print(greeting)

老式Python(版本 < 2.6)使用%运算符进行插值,这种方式不够直观,并且在处理多个变量时会变得混乱:

name = 'Carol'
age = 35
greeting = "Hello, %s. You are %d years old." % (name, age)

print(greeting)

除了语法更清晰外,f-string还因为它们在运行时被评估然后直接转换成高效的字符串格式操作而更快。.format()方法和%运算符涉及更多步骤,因此更慢。

另请参阅