Python 为什么format()只有一个变量,程序里有0和没0输出会有区别?

Python 为什么format()只有一个变量,程序里有0和没0输出会有区别?

问题描述:

图片说明
图片说明
图片说明

第一段代码 有三个{} {}相当于占位只是把位置占住, 前面有几个{} format里就应该有几个参数, 你前面写了三个{} 后面只传一个参数进去 有两个{}是没有值得所以报错
第二段代码 三个{0}, 相当于把format中的 下标索引为0的数据 填进去

可以把后面的 s,想象成为元组 (s, )
没有加位置索引时候,按默认顺序,但是因为元组个数为1,而需要填入的空大于1个,所以报错 IndexError;
加了位置索引,按照元组索引的方式,填入空格处,s[0] == 2,所以填入的数据都是 2,因此没有报错。

这个当然会有区别了输入{0}代表format(a)代表的就是这个数a,不加参数0你就要这么写‘{},{}'.format(0,0)代表顺次执行
输出的结果会是0,0

题主好,这是format的用法,0是占位符