ホームページ >バックエンド開発 >Python チュートリアル >`(1 in [1, 0] == True)` は False と評価されるのに、`(1 in [1, 0]) == True` は True と評価されるのはなぜですか?
(1 in [1,0]) == True が True であるにもかかわらず、(1 in [1,0] == True) が False と評価されるのはなぜですか?
式 (1 in [1,0] == True) に遭遇すると、(1 in [1,0]) の場合と同様に True と評価されることが期待されるかもしれません。ただし、驚くべきことに False と評価されます。この奇妙な動作を理解するには、Python の比較演算子チェーンを詳しく調べることが重要です。
Python の演算子チェーン メカニズムは、式を次のように解釈します。
<code class="python">(1 in [1, 0]) and ([1, 0] == True)</code>
この式には、カスケードされた論理演算子があり、"そして「演算子が優先されます。」したがって、評価は次のように行われます。
「and」演算子は結果が True の場合両方のオペランドが True である必要があり、オペランドの 1 つが False であるため、式全体は False と評価されます。
この連鎖動作
Python でカスケード比較演算子を含む式を正しく解釈し、変更するには、この演算子連鎖メカニズムを理解することが不可欠です。
以上が`(1 in [1, 0] == True)` は False と評価されるのに、`(1 in [1, 0]) == True` は True と評価されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。