1. ホーム
  2. python

[解決済み] なぜ `True == False is False` は False と評価されるのですか?重複

2022-10-07 17:50:39

疑問点

で動作する式で、予期しない動作が発生することがあります。 == では動作しますが is :

>>> (True == False) is False
True
>>> True == (False is False)
True
>>> True == False is False
False
>>> id(True)
8978640
>>> id(False)
8978192
>>> id(True == False)
8978192
>>> id(False is False)
8978640

どのように解決するのですか?

というのも、実はこれは 連鎖比較 であり、だから

True == False is False

(True == False) and (False is False)

この場合、意外に思われるかもしれませんが 1 <= x < 4 Cのような他の言語と違って