なぜpythonで「2==2>1」の結果がTrueになったのか

1748 ワード

なぜPythonで「2==2>1」の結果がTrueなのか
Pythonでは、このような奇妙な現象を発見するかもしれません.

>>> 2 == 2 > 1
True
>>> (2 == 2) > 1
False
>>> 2 == (2 > 1)
False

なぜ2==2>1の結果がTrueになるのですか?これが演算子の優先順位の問題だとすれば、後の2つの式はなぜFalseなのか.実際にはPythonの (ChainedComparisons)に関連しています.他の言語では、xが1より大きく、5より小さいかどうかを判断するには、if(x>1 and x<5)と書く必要があるかもしれませんが、pythonでは、if 12==2and2>1に相当する.この場合,この式はTrue and Trueに等価である.したがって、返される結果はTrueです.注意:Trueは1に相当し、Falseは0に相当します.
原文:https://cloud.tencent.com/developer/article/1386941