'and' および 'or' 演算子とは

完了

テスト式を組み合わせて、1 つの ifelif、または else ステートメントで複数の条件を評価することが必要な場合があります。 この場合、ブール演算子 andor を使用します。

or 演算子

ブール or 演算子を使用すると、2 つのブール (テスト) 式を接続できます。 式全体が True に評価されるためには、部分式の少なくとも 1 つが true である必要があります。 どちらの部分式も true でない場合、式全体が False に評価されます。 たとえば、次の式では、部分式の条件のうち 1 つが満たされているため、テスト式全体が True に評価されます。

a = 23
b = 34
if a == 34 or b == 34:
    print(a + b)

両方の部分式が true の場合も、テスト式全体が True に評価されます。

or を使用するブール式の構文は次のとおりです。

sub-expression1 or sub-expression2

and 演算子

ブール and 演算子を使用して 2 つのテスト式を接続することもできます。 テスト式全体が True に評価されるためには、テスト式の両方の条件が true である必要があります。 それ以外の場合、テスト式は False になります。 次の例では、部分式の条件のうち 1 つだけが true であるため、テスト式全体が False に評価されます。

a = 23
b = 34
if a == 34 and b == 34:
    print (a + b)

and を使用するブール式の構文は次のとおりです。

sub-expression1 and sub-expression2

andor の違い

2 つのブール演算子の違いを明らかにするため、"真理値表" を使用できます。 真理値表は、テスト式全体が 2 つの部分式に基づいて評価されることを示しています。

and の真理値表を次に示します。

subexpression1 演算子 subexpression2 結果
True and True True
True and False False
False and True False
False and False False

or の真理値表を次に示します。

subexpression1 演算子 subexpression2 結果
True or True True
True or False True
False or True True
False or False False