Python比较运算符优先级

Yic*_*hun 4 python comparison-operators

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

>>> -1 < 0 == False
True

>>> (-1 < 0) == False
False
Run Code Online (Sandbox Code Playgroud)

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

Rom*_*usi 6

Python有一个非常不错的功能- 链式比较,就像在数学表达式中一样,因此

-1 < 0 == False
Run Code Online (Sandbox Code Playgroud)

实际上是一种语法糖用于

-1 < 0 and 0 == False
Run Code Online (Sandbox Code Playgroud)

在引擎盖下。