複合条件文
プログラムでは、複数の条件に基づいて処理を分岐させる場面がよくあります。Pythonでは、複合条件文を使うことで、2つ以上の条件を組み合わせてif文を作成することができます。この記事では、and
、or
、not
を使った複合条件文の基本を解説します。
複合条件文の基本構文
複合条件文では、複数の条件をand
、or
で接続します。例えば、2つの条件がどちらも真である場合に実行する処理を以下のように記述します。
# andを使った複合条件文
x = 10
y = 20
if x > 5 and y < 30:
print("xは5より大きく、yは30より小さい")
この例では、x
が5より大きく、かつy
が30より小さい場合にメッセージが表示されます。両方の条件が満たされて初めて、if文の内部の処理が実行されます。
and と or の違い
Pythonでは、and
は両方の条件が真の場合に処理が実行され、or
はどちらか一方でも真であれば処理が実行されます。次に、or
を使った例を見てみましょう。
# orを使った複合条件文
x = 10
y = 50
if x > 5 or y < 30:
print("xが5より大きいか、yが30より小さい")
この場合、x > 5
が真であるため、もう一方の条件が偽でも処理が実行されます。or
を使うと、どちらか一方の条件が成り立てば処理を行いたい場合に便利です。
not を使った条件反転
not
を使うことで、条件を反転させることができます。つまり、条件が偽の場合に処理を行いたい場合にnot
を使います。
# notを使った条件反転
x = 10
if not x < 5:
print("xは5より小さくない")
この例では、x < 5
が偽であるため、not
を使って条件を反転し、"xは5より小さくない"
が表示されます。
複合条件文での優先順位
複合条件文では、演算子の優先順位に注意する必要があります。and
とor
が混在する場合、and
が先に評価されますが、必要に応じて括弧を使うことで明示的に優先順位を指定することができます。
# 複合条件文の優先順位
x = 10
y = 20
z = 30
if (x > 5 or y > 25) and z < 35:
print("条件が成立")
この例では、(x > 5 or y > 25)
が先に評価され、その後でz < 35
が評価されます。括弧を使うことで、条件の評価順序が明確になります。
複合条件文の注意点
複合条件文を使う際には、条件が増えるとコードが読みづらくなる可能性があります。適切に括弧を使うことで条件の意図を明確にし、コードの可読性を保つことが重要です。また、条件が複雑な場合には、関数を使って条件を分割して整理することも一つの方法です。
まとめ
複合条件文を使うことで、Pythonで複数の条件に基づいた処理を実行できます。and
やor
を組み合わせることで柔軟な条件分岐が可能となり、not
を使って条件を反転させることもできます。条件の優先順位に注意しつつ、必要に応じて括弧を使うことで、複雑な条件文を整理して書くことができます。