【发布时间】:2009-08-21 01:55:41
【问题描述】:
Python 正在执行字符串乘法,我希望它执行数字乘法,但我不知道为什么。
>>> print('%d' % 2 * 4)
2222
>>> print('%d' % (2 * 4))
8
即使强制类型为整数也无济于事。 (我意识到这是多余的,但对我来说这是一个白痴检查:
>>> print('%d' % int(2) * int(4))
2222
显然我解决了我的问题(添加括号就可以了)但是这里发生了什么?如果这只是我必须记住的一个怪癖,那很好,但我更愿意了解这背后的逻辑。
【问题讨论】:
标签: python string formatting operator-precedence