
スポンサーリンク
Pythonで条件分岐を行う際、if
文を使用しますが、複数の条件を組み合わせる場合にはいくつかの方法があります。本記事では、それらの方法や文字列比較・基本的な使い方についても詳しく解説します。
論理演算子を使用する
and
を使用する
and
を使うと、すべての条件が満たされた場合にTrue
となります。
x = 10y = 20if x > 5 and y < 30: print("条件を満たしています")
この場合、x > 5
かつ y < 30
の両方が真であるため、print
が実行されます。
or
を使用する
or
を使うと、いずれかの条件が満たされればTrue
となります。
x = 10y = 50if x > 5 or y < 30: print("いずれかの条件を満たしています")
この場合、x > 5
が真なので、print
が実行されます。
not
を使用する
not
を使うことで、条件を反転させることができます。
x = 10if not x < 5: print("xは5未満ではありません")
この場合、x < 5
は偽(False)なので、not
によって真(True)となり、print
が実行されます。
in
を使用する
リストやタプルの中に値が含まれているかどうかを条件にできます。
value = 3if value in [1, 2, 3, 4, 5]: print("リスト内に値が含まれています")
is
を使用する
is
を使うと、オブジェクトの同一性を比較できます。
a = Noneif a is None: print("aはNoneです")
この場合、a
がNone
であるため、print
が実行されます。
文字列比較を行う
Pythonでは、文字列を比較する際に==
や !=
を使用できます。
text = "hello"if text == "hello": print("文字列は 'hello' です")
また、大文字・小文字を区別せずに比較したい場合は .lower()
や .upper()
を使用すると便利です。
text = "Hello"if text.lower() == "hello": print("大文字小文字を区別せずに比較しました")
部分一致を判定する場合は in
を使います。
text = "Python is fun"if "Python" in text: print("文字列に 'Python' が含まれています")
elif
を使用する
elif
を使うことで、複数の条件を順番に評価できます。
x = 10if x < 5: print("xは5未満です")elif x < 15: print("xは5以上15未満です")else: print("xは15以上です")
この場合、x < 15
が真なので、print("xは5以上15未満です")
が実行されます。
複雑な条件式の扱い
複数の条件を組み合わせる場合は、()
を使って優先順位を明確にすることができます。
x = 10y = 20z = 30if (x > 5 and y < 25) or z == 30: print("条件が成立しました")
この場合、x > 5 and y < 25
が真であるため、全体として真となりprint
が実行されます。
all()
や any()
を使用する
all()
はすべての条件が満たされる場合にTrue
を返し、any()
はいずれかの条件が満たされる場合にTrue
を返します。
values = [True, True, False]if all(values): print("すべての条件が真です")else: print("一部またはすべての条件が偽です")
if any(values): print("少なくとも1つの条件が真です")
この場合、all(values)
は False
なので2つ目のprint
が実行され、any(values)
は True
なので最後のprint
が実行されます。
まとめ
Pythonのif
文では、and
、or
、not
、in
、is
、elif
などを活用して複数の条件を指定できます。さらに、all()
や any()
を使うことで、リストやタプル内の要素を一括で判定することも可能です。
表でまとめると以下の通りになります。
方法 | 説明 | 使用例 |
---|---|---|
and | すべての条件が満たされた場合にTrue | if x > 5 and y < 30: |
or | いずれかの条件が満たされればTrue | if x > 5 or y < 30: |
not | 条件を反転する | if not x < 5: |
in | リストやタプルの中に値が含まれるかを判定 | if value in [1, 2, 3]: |
is | オブジェクトの同一性を比較 | if a is None: |
文字列比較 | == (一致) や != (不一致) を使用 | if text == "hello": |
elif | 複数の条件を順番に評価 | if x < 5: elif x < 15: else: |
all() | すべての条件がTrueか判定 | if all([True, True, False]): |
any() | いずれかの条件がTrueか判定 | if any([True, False, False]): |
条件の組み合わせを適切に行うことで、柔軟な条件分岐が可能になります。
是非if文をマスターしましょう!
以上で本記事の解説を終わります。
よいITライフを!