Python 正在执行字符串乘法,我希望它执行数字乘法,但我不知道为什么。
>>> print('%d' % 2 * 4)
2222
>>> print('%d' % (2 * 4))
8
即使将类型强制为整数也无济于事。(我意识到这是多余的,但对我来说这是一个白痴检查:
>>> print('%d' % int(2) * int(4))
2222
显然我解决了我的问题(添加括号就可以了)但是这里发生了什么?如果这只是我必须记住的一个怪癖,那很好,但我宁愿理解这背后的逻辑。