小能豆

Python 中的字符串格式

javascript

我想做类似的事情String.Format("[{0}, {1}, {2}]", 1, 2, 3)并返回:

[1, 2, 3]

我如何用 Python 来实现这个功能?


阅读 46

收藏
2024-07-18

共1个答案

小能豆

在Python中,你可以使用字符串的格式化方法来实现类似于String.Format("[{0}, {1}, {2}]", 1, 2, 3)的功能。Python提供了几种方式来进行字符串格式化,包括使用f-strings(Python 3.6及更高版本)和format()方法(适用于Python 2.7和所有Python 3版本)。

使用 f-strings(Python 3.6及更高版本)

formatted_string = f"[{1}, {2}, {3}]"
print(formatted_string)

输出:

[1, 2, 3]

使用 format() 方法

formatted_string = "[{0}, {1}, {2}]".format(1, 2, 3)
print(formatted_string)

输出:

[1, 2, 3]

解释

  • f-strings(格式化字符串字面值)
  • 自Python 3.6起引入的f-strings提供了一种简洁而直观的方式,在字符串字面值中使用 {} 来表示替换字段,并直接在其中嵌入表达式。表达式在运行时进行求值。
  • 在示例中,f"[{1}, {2}, {3}]" 构造了一个字符串,其中的 {1}, {2}, {3} 分别被值 1, 2, 3 替换。

  • 使用 format() 方法

  • format() 方法可用于Python 2.7及所有Python 3版本。它允许你在字符串中指定占位符({}),然后通过位置参数或关键字参数来替换这些占位符。
  • 在示例中,"[{0}, {1}, {2}]".format(1, 2, 3) 构造了一个字符串,其中的 {0}, {1}, {2} 分别被值 1, 2, 3 替换。

补充说明

  • 位置参数:在这两种方法(f-strings 和 format())中,你可以使用索引({0}, {1}, {2}, …)来指定替换的顺序。
  • 字符串格式化选项:Python的字符串格式化非常灵活,允许你在替换字段中指定宽度、精度、对齐方式等格式化选项。
  • Pythonic 方式:推荐在Python 3.6及更高版本中使用f-strings进行新代码的字符串格式化,因为它们具有良好的可读性和简洁性。

根据你的Python版本和编码风格选择适合的方法。这两种方法都能实现与其他语言中的 String.Format("[{0}, {1}, {2}]", 1, 2, 3) 相同的结果,提供带有替换值的格式化字符串。

2024-07-18