In [102]: '{} {} {}'.format(name='张三',age='20',gender='female')
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-102-64df41b8f64e> in <module>()
----> 1 '{} {} {}'.format(name='张三',age='20',gender='female')
IndexError: tuple index out of range
以上是错误信息
错误的原因是元组索引越界,因为后面format中的内容出现了赋值操作
正确做法:
In [101]: '{name} {age} {gender}'.format(name='张三',age='20',gender='female')
Out[101]: '张三 20 female'
2. 第2种情况
In [89]: '{} {} '.format(10) + chr(10)
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-89-2c1332eb6dc1> in <module>()
----> 1 '{} {} '.format(10) + chr(10)
IndexError: tuple index out of range
解决办法:
n [90]: '{0:x} {0:o} '.format(10) + chr(10)
Out[90]: 'a 12 \n'
In [91]: '{0:x} {0:o} '.format(10)
Out[91]: 'a 12 '
In [92]: '{0:x} {0:o} {0:0b} '.format(10)
Out[92]: 'a 12 1010 '
小结:当两边的槽数不匹配的时候就会报错元组索引越界