Python - 字符串格式化



Python 中的字符串格式化是通过在已存在的字符串中插入数值表达式的值来动态构建字符串表示的过程。Python 的字符串连接运算符不接受非字符串操作数。因此,Python 提供了以下字符串格式化技术 -

使用 % 运算符

“%”(模数)运算符通常称为字符串格式运算符。它采用一个格式字符串和一组变量,并将它们组合起来创建一个字符串,其中包含以指定方式格式化的变量的值。

要使用 “%” 运算符将字符串插入格式字符串,我们使用 “%s”,如以下示例所示 -


name = "qikepu"
print("Welcome to %s!" % name)

它将产生以下输出 -

Welcome to qikepu!

使用 format() 方法

它是 str 类的内置方法。format() 方法的工作原理是使用大括号 “{}” 在字符串中定义占位符。然后,这些占位符将替换为方法参数中指定的值。

在下面的示例中,我们使用 format() 方法将值动态插入到字符串中。


str = "Welcome to {}"
print(str.format("qikepu"))

在运行上述代码时,它将产生以下输出 -

Welcome to qikepu

使用 f-string

f-string(也称为格式化字符串文本)用于将表达式嵌入到字符串文本中。f-strings 中的“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="qikepu")
print(new_str)

它将产生以下输出 -

Hello and Welcome to qikepu !