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は条件を反転させる場合に使用します。論理演算子の優先順位に注意し、必要に応じて括弧を使って条件の評価順を制御することで、意図通りの結果を得ることができます。