2
当蟒蛇添加布尔表达式,它似乎在括号括起来投下他们进入int
当你添加它们,但没有这样做,他们保持类型:为什么(0> 1 + 0> 9)返回False,但((0> 1)+(0> 9))返回0?
>>> ((0>1) + (0>9))
0
>>> (0>1 + 0>9)
False
>>> (0>1 + (0>9))
False
这是为什么?在我看来,那括号只应该用来改变操作的顺序(除了某些情况下,你使用括号来定义的元组),内容不是类型,所以我希望:
(<expression>) == <expression>
啊。我的印象是,比较运算符优先于算术运算符,但它们是不合理的,否则像1 + 0> 9这样的东西实际上是不直观的。 https://docs.python.org/3/reference/expressions.html#operator-precedence – germanjaber