跳到主要内容

简述Python字符串格式化:%和.format ?

参考答案:

在Python中,字符串格式化是一种常见的技术,用于将变量值插入到字符串模板中。Python提供了两种主要的字符串格式化方法:%操作符和str.format()方法。

  1. %操作符

%操作符是一个古老的字符串格式化方法,在Python 2.x版本中非常流行。它的基本语法如下:

formatted_string = "这是一个%s,它的值是%d。" % (variable1, variable2)

在这个例子中,%s是一个占位符,表示一个字符串,%d表示一个整数。%操作符后面的括号中包含了要插入到占位符中的变量。

例如:

name = "苹果"
price = 10
formatted_string = "这是一个%s,它的价格是%d元。" % (name, price)
print(formatted_string)  # 输出:这是一个苹果,它的价格是10元。
  1. str.format()方法

str.format()方法是Python 3.x中引入的一个更现代、更灵活的字符串格式化方法。它的基本语法如下:

formatted_string = "这是一个{},它的值是{}。".format(variable1, variable2)

在这个例子中,{}是一个占位符,format()方法中的参数将按照顺序替换这些占位符。

例如:

name = "苹果"
price = 10
formatted_string = "这是一个{},它的价格是{}元。".format(name, price)
print(formatted_string)  # 输出:这是一个苹果,它的价格是10元。

str.format()`还支持更复杂的格式化选项,例如指定数字的精度、对齐方式等。

pi = 3.1415926
formatted_string = "π的值是:{:.2f}".format(pi)
print(formatted_string)  # 输出:π的值是:3.14

在这个例子中,{:.2f}表示将pi变量格式化为保留两位小数的浮点数。

总的来说,%操作符和str.format()方法都是用于在Python中进行字符串格式化的有效手段。然而,由于str.format()方法提供了更多的格式化选项和灵活性,它通常被认为是更现代和更推荐的方法。