'and' および 'or' 演算子とは
テスト式を組み合わせて、1 つの if
、elif
、または else
ステートメントで複数の条件を評価することが必要な場合があります。 この場合、ブール演算子 and
と or
を使用します。
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
and
と or
の違い
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 |