AND, OR, NOTの使い方
Pythonでは、論理演算子を使って複数の条件を組み合わせることができます。特に、and
、or
、not
の3つの演算子を使用して、複雑な条件分岐を行います。この記事では、これらの論理演算子の使い方と、その基本的な概念について説明します。
1. AND演算子
and
演算子は、両方の条件が真の場合にのみ、結果が真になります。つまり、2つ以上の条件を組み合わせて、すべての条件が満たされたときに処理を行いたい場合に使用します。
# AND演算子を使った例
x = 10
y = 20
if x > 5 and y < 30:
print("xは5より大きく、yは30より小さい")
この例では、x > 5
かつy < 30
が両方とも真のときに処理が実行されます。
2. OR演算子
or
演算子は、どちらか一方の条件が真であれば、結果が真になります。つまり、少なくとも1つの条件が満たされれば処理を行いたい場合に使用します。
# OR演算子を使った例
x = 10
y = 50
if x > 5 or y < 30:
print("xが5より大きいか、yが30より小さい")
この例では、x > 5
が真であるため、もう一方の条件が偽でも処理が実行されます。
3. NOT演算子
not
演算子は、条件を反転させます。つまり、条件が偽の場合に処理を行いたいときに使用します。
# NOT演算子を使った例
x = 10
if not x < 5:
print("xは5より小さくない")
この例では、x < 5
が偽であるため、not
が条件を反転させて、処理が実行されます。
AND, OR, NOTの比較
次に、and
、or
、not
の動作を表で比較してみましょう。
演算子 | 条件1 | 条件2 | 結果 |
---|---|---|---|
and | True | True | True |
and | True | False | False |
or | True | False | True |
or | False | False | False |
not | True | --- | False |
not | False | --- | True |
論理演算子の優先順位
Pythonでは、not
が最も優先順位が高く、次にand
、最後にor
が評価されます。必要に応じて括弧を使って、評価の順序を明確にすることができます。
# 論理演算子の優先順位
x = 10
y = 20
z = 30
if (x > 5 or y > 25) and z < 35:
print("条件が成立")
この例では、まず(x > 5 or y > 25)
が評価され、その後and
でz < 35
が評価されます。
まとめ
Pythonの論理演算子and
、or
、not
を使うことで、複雑な条件を表現することができます。and
は両方の条件が真の場合に、or
は少なくとも1つの条件が真の場合に、not
は条件を反転させる場合に使用します。論理演算子の優先順位に注意し、必要に応じて括弧を使って条件の評価順を制御することで、意図通りの結果を得ることができます。