今朝、私は自分が次のようなものを書いていることに気づきました:
if (a == b == c):
# do something
そして、期待通りの結果が得られたことに驚きました。
私はそれが次のように振る舞うと思った:
if ((a == b) == c):
# do something
しかし、明らかにそうではありませんでした。Python は最初のステートメントを 2 番目のステートメントとは異なる方法で扱っているようですが、これは素晴らしいことですが、これに関するドキュメントや説明は見つかりませんでした。
私はこれをテストして得ました:
In [1]: 2 == 2 == 2
Out[1]: True
In [2]: (2 == 2) == 2
Out[2]: False
==
(or )のそのような「連鎖」に関する規則は何か、誰かが私に説明してくれませんか!=
?
どうもありがとうございました。