使用下标可灵活格式化字符串,{0}、{1}按位置引用参数,支持重复和乱序,如"我是{0},{1}岁,{0}开心"。可与关键字混合,如"{0}赢了{score}",但关键字后不能再用数字替代。

在 Python 中,str.format() 方法支持通过下标访问传入的参数,实现灵活的字符串格式化。这种“下标匹配”指的是使用位置索引来指定 format() 中的参数顺序。
你可以用 {0}、{1}、{2} 等形式引用 format() 方法中按位置传入的参数:
name = "Alice"
age = 25
text = "我是 {0},今年 {1} 岁了。{0} 很开心!".format(name, age)
print(text) # 输出:我是 Alice,今年 25 岁了。Alice 很开心!
说明:{0} 对应第一个参数 name,{1} 对应第二个参数 age。同一个下标可以多次使用。
format() 允许你打乱顺序或重复使用某个参数:
立即学习“Python免费学习笔记(深入)”;
result = "{1} 和 {0} 都喜欢 {1}。".format("Bob", "Alice")
print(result) # 输出:Alice 和 Bob 都喜欢 Alice。
这里虽然先传入 "Bob",但 {1} 指向 "Alice",实现了乱序插入。
你也可以结合下标和关键字命名:
msg = "{0} 赢了 {score} 分,对手是 {1}。{name} 表现很棒!".format(
"中国队", "韩国队", score=3, name="小王"
)
print(msg)
# 输出:中国队 赢了 3 分,对手是 韩国队。小王 表现很棒!
注意:一旦开始使用关键字参数(如 score 和 name),就不能再用纯数字下标代替这些名字,但位置参数仍可通过 {0}、{1} 引用。
format() 方法会把位置参数组成一个元组,关键字参数组成一个字典。当你写 {0},它从位置元组中取值;写 {name} 则从关键字字典中查找。因此下标只适用于位置参数。
基本上就这些。合理使用下标匹配能让字符串模板更清晰,尤其适合重复使用相同变量的场景。不复杂但容易忽略细节,比如下标越界会报错 IndexError。
以上就是python format()的下标匹配的详细内容,更多请关注php中文网其它相关文章!
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号