虽然代码打高尔夫球,我偶然发现了一个奇怪的问题
>>> 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
我的假设是操作员评估从左到右发生,但在这种特殊情况下,似乎即使其字符串操作%
takes priority over +
并尝试评估{{在连接之前1}}并且失败
这是一个已知的记录行为,还是有一些对我来说不明显的事情。