ホームページ >バックエンド開発 >Python チュートリアル >Python の「and」演算子と「or」演算子は常にブール値を返しますか?

Python の「and」演算子と「or」演算子は常にブール値を返しますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-07 16:49:03261ブラウズ

Do Python's `and` and `or` Operators Always Return Boolean Values?

Python の演算子の動作を理解する

Python では、and 演算子と or 演算子は条件演算と評価において重要な役割を果たします。よくある誤解は、これらの演算子は常にブール値 (True または False) を返すということです。ただし、これらの演算子に関する真実はさらに微妙です。

2007 年のビデオでの主張に反して、and 演算子と or 演算子は両方とも、純粋なブール値ではなく、演算対象の 2 つの値のうちの 1 つを返します。この動作は、次の例で説明できます。

>>> 0 or 42
42
>>> 0 and 42
0

見てわかるように、最初のオペランド (0) が False であり、演算によって 2 番目のオペランドの値が返されるため、0 または 42 は 42 を返します。同様に、0 と 42 は、最初のオペランド (0) が False であるため 0 を返し、演算は最初のオペランドの値を返します。

対照的に、not 演算子は常に純粋なブール値を返します。

>>> not 0
True
>>> not 42
False

この動作は、次の 3 つの演算子の違いを強調しています。

  • and および or は、次のいずれかの値を返します。それらのオペランドは、非ブール値である可能性があります。
  • 一貫して True または False のブール値を返すわけではありません。

これらの演算子の動作を理解することは、正しく効率的な記述を行うために不可欠です。条件ステートメントと評価を含む Python コード。

以上がPython の「and」演算子と「or」演算子は常にブール値を返しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。