在打代码打高尔夫球时,我偶然发现了一个特殊的问题
>>> print '%'+'-+'[1]+str(5)+'s'%'*'
Traceback (most recent call last):
File "<pyshell#178>", line 1, in <module>
print '%'+'-+'[1]+str(5)+'s'%'*'
TypeError: not all arguments converted during string formatting
我的假设是运算符评估从左到右进行,但在这种特殊情况下,似乎即使它的字符串操作%
优先+
并尝试's'%'*'
在连接之前进行评估并失败
这是已知的记录行为,还是有更多对我来说不明显的东西。