这就是我在格式字符串规范中所说的设计故障。根据文档,
element_index ::= integer | index_string
但是,可惜,
-1它不是“整数”,而是一个表达式。一元减号运算符甚至没有特别高的优先级,因此,例如
print(-2**2)发出
-4-另一个常见问题以及可以说是设计故障(该
**运算符具有较高的优先级,因此首先进行加电,然后进行更改-
优先级较低的一元请求的符号
-)。
格式字符串中该位置中不是整数(但例如表达式)的任何内容都被视为字符串,以为dict参数建立索引-例如:
$ python3 -c "print('The last:{0[2+2]}'.format({'2+2': 23}))"The last:23不确定在Python跟踪中是否值得提出这个问题,但这肯定是一个令人惊讶的行为:-(。



