为什么在 Python 中 3>2>1 返回 True 而 (3>2)>1 返回 False?

-1 python comparison-operators python-3.x

我无法找到有关它的正确文档。我在 Javascript 中做了同样的事情,两种情况都得到了 False。我知道 3>2 应该被视为 (3>2) -> True|1,因此 3>2>1 是 1>1 这是错误的。如果您能建议一些官方文档和解释,那就太好了。

x = (3 > 2) > 1

打印(x)

错误的

y = 3 > 2 > 1

打印(y)

真的

thi*_*ndy 5

Javascript 的计算结果3 > 2 > 1(3 > 2) > 1,因此它们是等价的。在这两种情况下,3 > 2 > 1 -> true > 1 -> false.

然而,Python 具有比较链接功能,因此3 > 2 > 1意味着3 > 2 and 2 > 1. (3 > 2) > 1与 JS 中的工作方式相同。您可以阅读以下文章以了解更多信息。这是该网站上的一个高质量答案,解释了 python 中运算符分组和链接之间的区别。


归档时间:

查看次数:

84 次

最近记录:

3 年,4 月 前