コンテンツにスキップ

Pythonのブール演算子の使い方

[

Pythonの「and」ブール演算子を使用する方法

Pythonには3つのブール演算子または論理演算子(logical operators)があります:andor、およびnot。これらを使用して、特定の条件が満たされているかどうかを確認してから、プログラムの実行パスを決定することができます。このチュートリアルでは、and演算子について学び、コード内での使用方法について説明します。

このチュートリアルでは、次のことを学びます:

  • Pythonのand演算子の背後にある論理を理解すること
  • and演算子を使用したブール式および非ブール式を構築し、理解すること
  • ブールコンテキストでand演算子を使用してプログラムの動作を決定すること
  • 非ブールコンテキストでand演算子を使用してコードをより簡潔にすること

また、Pythonicな方法でさまざまな問題にアプローチするために、and演算子を使用するいくつかの実用的な例もコーディングします。andのすべての機能を使用しなくても、それについて学ぶことで、より良く正確なコードを書くことができるようになります。

Pythonでのブール論理の操作

1854年にジョージ・ブールが著したThe Laws of Thoughtには、ブール代数として知られるものが含まれています。この代数は、truefalseの2つの値に依存しています。また、一般的な演算子で表されるブール演算、または論理演算のセットを定義しています。ブール演算子はANDOR、およびNOTとして示されます。

これらのブール値と演算子は、プログラミングで非常に役立ちます。たとえば、演算子を使用して任意に複雑なブール式を構築し、それらの結果としての真または偽の[真偽値]https://en.wikipedia.org/wiki/Truth_valueを判定できます。ブール式の真偽値を使用して、プログラムの動作を決定することができます。

Python

>>> issubclass(bool, int)
True
>>> help(bool)

上記のコードでは、boolintのサブクラスであることと、TrueまたはFalseの値を取ることが示されています。

Pythonの「and」演算子を使ったブール式の作成

Pythonのand演算子では、2つのオペランドの真偽値がどちらもTrueである場合に結果がTrueとなります。それ以外の場合、結果はFalseになります。ブール式では、「and」演算子を使用して2つ以上の真偽値を組み合わせることができます。

Pythonの「and」演算子を使用したブール式の作成には、次のような例があります:

>>> True and True
True
>>> True and False
False
>>> False and True
False
>>> False and False
False

「and」演算子を使用して組み合わせられた真偽値を評価する際には、最初にFalseと評価されるオペランドがある場合、そのオペランド以降の評価はスキップされます。このような振る舞いを短絡評価(short-circuiting)と呼びます。短絡評価により、必要なだけのオペランドを評価することで、効率的にプログラムを実行することができます。

Pythonの「and」演算子は、真偽値だけでなく、他のオブジェクトとも組み合わせて使用することができます。オブジェクトの場合、「and」演算子は値そのものではなく、オブジェクトの真偽値を評価します。

次のセクションでは、ブール式とオブジェクト(非ブール値)を組み合わせて「and」演算子を使用する方法について詳しく説明します。