在 Python 中,字符串格式化是动态构建字符串表示的过程,通过在已存在的字符串中插入数值表达式的值。Python 的字符串连接运算符不接受非字符串的操作数。因此,Python 提供了以下字符串格式化技术:
-
-
-
-
使用 %
运算符
%
(模运算符)通常被称为字符串格式化运算符。它需要一个格式字符串以及一组变量,并将它们组合起来创建一个包含变量值的字符串,这些值按照指定的方式进行格式化。
示例
要使用 %
运算符将一个字符串插入到格式字符串中,我们可以使用 %s
,如下面的示例所示:
name = "Tutorialspoint"
print("Welcome to %s!" % name)
它将产生以下输出:
Welcome to Tutorialspoint!
使用 format()
方法
这是 str
类的一个内置方法。format()
方法的工作原理是在字符串中使用花括号 {}
定义占位符。这些占位符随后由方法参数中指定的值所替换。
示例
在下面的示例中,我们使用 format()
方法来动态插入值到字符串中。
str = "Welcome to {}"
print(str.format("Tutorialspoint"))
当运行以上代码时,它将产生以下输出:
Welcome to Tutorialspoint
使用 f-string
f-string,也称为格式化字符串字面量,用于在字符串字面量中嵌入表达式。f-string 中的 "f" 表示格式化,并且将字符串前缀加上 "f" 即创建了一个 f-string。字符串内的花括号 {}
之后充当占位符,这些占位符会被变量、表达式或函数调用填充。
示例
下面的示例说明了 f-string 与表达式一起工作的情况。
item1_price = 2500
item2_price = 300
total = f'Total: {item1_price + item2_price}'
print(total)
以上代码的输出如下:
Total: 2800
使用 String Template
类
String Template
类属于 string
模块,并提供了一种使用占位符来格式化字符串的方法。这里的占位符由美元符号 $
加上一个标识符定义。
示例
下面的示例展示了如何使用 Template
类来格式化字符串。
from string import Template
str = "Hello and Welcome to $name !"
templateObj = Template(str)
new_str = templateObj.substitute(name="Tutorialspoint")
print(new_str)
它将产生以下输出:
Hello and Welcome to Tutorialspoint !