This question already has answers here:
Why does the expression 0 < 0 == 0 return False in Python?

(9个答案)



python operator precedence of in and comparison

(4个答案)


3年前关闭。




考虑以下语句:

> False == False in [False]
True

然而:

> (False == False) in [False]
False
> False == (False in [False])
False

不可思议。原因和解释是什么?

最佳答案

dis.dis可以解救,还有我的一些解释。

无论如何,它看起来像这样。考虑三个表达式X, Y, Z和两个运算符O1, O2。然后

X O1 Y O2 Z

相当于
(X O1 Y) and (Y O2 Z)

可以看出
a < b < c

例子。我发现此行为非常违反直觉。

the docs:



注意in是一个比较运算符。

关于python - 表情与被剥夺的表情有什么不同?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47727371/

10-12 21:01