ホームページ >バックエンド開発 >Python チュートリアル >Python で `(1 in [1,0] == True)` が False と評価されるのはなぜですか?
解明: '(1 in [1,0] == True)' が False と評価される理由の謎
式 ' Python の (1 in [1,0] == True)' は、True であることが予想されるときに False と評価されるため、最初は直観に反しているように思えるかもしれません。この謎を解明するには、Python の評価プロセスの内部動作を詳しく調べる必要があります。
興味深いことに、Python はこの式をブール値に対する単純なチェックではなく、一連の比較として解釈します。式の真の構造は次のように明らかになります。
(1 in [1,0]) and ([1,0] == True)
最初の式 '(1 in [1,0])' は True を返し、2 番目の式は True を返すため、この一連の比較は False と評価されます。 、'([1,0] == True)'、False と評価されます。
この比較連鎖の現象は、'a < などの他の式でも発生します。 b
(a < b) and (b < c)
'b' を 2 回冗長に評価することはありません。
複雑な処理を扱うときに予期しない結果を避けるために、Python の評価動作のこの側面を理解することが重要です。比較を含む式。
以上がPython で `(1 in [1,0] == True)` が False と評価されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。