ホームページ >バックエンド開発 >Python チュートリアル >Python の「and」および「or」演算子は非ブール値に対してどのように動作しますか?
プログラミングの分野では、論理演算子「and」と「or」 「制御フローと意思決定において極めて重要な役割を果たします。ただし、非ブール値で使用すると、その動作が謎めいたものになる可能性があります。これらの演算子の内部の仕組みを調べて、隠されたロジックを明らかにしましょう。
「and」演算子はオペランドを順番に評価します。いずれかのオペランドが False (0、空の文字列、None など) と評価される場合、「and」演算子は直ちにその Falsy 値を返します。これは「短絡」として知られています。すべてのオペランドが True の場合、式の最後の値が返されます。
指定した例では、両方のオペランドが True であるため、「10 and 7-2」は 5 を返します。ただし、最初のオペランドが False であるため、「0 and 7-2」は 0 を返します。
「and,」と同様「or」演算子はオペランドを順番に評価します。 "and" とは異なり、最初に見つかった Truthy 値、またはすべてのオペランドが False の場合は式の最後の値を返します。
2 番目の例では、"10 or 7-2" は 10 を返します。最初のオペランドは True です。 「7-2」式は決して評価されません。一方、「7-2」は真実であるため、「0 または 7-2」は 5 を返します。
これらの演算子の使用非ブール値を使用することは、特定の状況では正当で信頼できるアプローチとなる可能性があります。ただし、予期しない結果を避けるために、彼らの行動を徹底的に理解することが不可欠です。
注意すべき落とし穴の 1 つは、意図しないショートです。たとえば、式「if x and y(z)」の場合:
一般的には、次のことを明示的にチェックすることをお勧めします。このような場合、副作用を実行する前に偽の値を使用してください。
Python の "and" 演算子と "or" 演算子は、副作用を実行するための簡潔で便利な方法を提供します。ブール値以外の値でも論理評価が可能です。彼らの行動を理解することで、よくある落とし穴を避けながら、彼らの力を効果的に利用することができます。
以上がPython の「and」および「or」演算子は非ブール値に対してどのように動作しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。