Python比较运算符优先级

时间:2019-08-07 18:48:15

标签: python comparison-operators

Python中的所有比较操作都具有相同的优先级,该优先级低于任何算术,移位或按位运算的优先级。因此,“ ==”和“ <”具有相同的优先级,为什么下面的第一个表达式求值True,而不是第二个表达式?

>>> -1 < 0 == False
True

>>> (-1 < 0) == False
False

我希望两者都被评估为False。为什么不是这样?

1 个答案:

答案 0 :(得分:6)

Python有一个非常不错的功能-chained comparison,就像数学表达式一样,

-1 < 0 == False

实际上是syntactic sugar

-1 < 0 and 0 == False

在引擎盖下