在 Python 的 str.format() 方法中,通过索引指定占位符 {} 的填充顺序时

2025-05-12ASPCMS社区 - fjmyhfvclm

在 Python 的 str.format() 方法中,通过索引指定占位符 {} 的填充顺序时,索引位置有一些明确的限制和注意事项。以下是关键点总结:

1. 索引必须是非负整数

索引从 0 开始,依次递增(0, 1, 2, ...)。

不能使用负数索引(如 {-1}),否则会抛出 ValueError。

示例:

python

# 正确:索引从 0 开始

result = "Name: {0}, Age: {1}".forma, 25) # 输出: "Name: Alice, Age: 25"

# 错误:负数索引

try:

result = "Name: {-1}".format("Alice") # 抛出 ValueError

except ValueError as e:

print(f"错误: {e}") # 输出: "错误: tuple index out of range"

2. 索引不能超出参数范围

如果指定的索引大于或等于 format() 方法的参数数量,会抛出 IndexError。

示例:

python

# 正确:索引在参数范围内

result = "Name: {0}, Age: {1}".format("Alice", 25) # 输出: "Name: Alice, Age: 25"

# 错误:索引超出参数范围

try:

result = "Name: {2}".format("Alice", 25) # 抛出 IndexError

except IndexError as e:

print(f"错误: {e}") # 输出: "错误: tuple index out of range"

3. 索引不能重复使用超出参数限制

同一个参数可以通过索引多次引用,但索引必须有效(不能超出参数范围)。

示例:

python

# 正确:重复使用有效索引

result = "Name: {0}, Age: {1}, Name again: {0}".format("Alice", 25) # 输出: "Name: Alice, Age: 25, Name a

全部评论