Pythonのif文の使い方|複数条件・文字列比較を徹底解説!

Pythonのif文の使い方|複数条件・文字列比較を徹底解説!

記事の文字数:1515

Pythonのif文を使って複数の条件を設定する方法を詳しく解説します。本記事では、and・or・not を使用した基本的な条件分岐に加え、in・is を活用した応用的な条件判定方法も紹介します。また、文字列比較や、all()・any() を使った条件処理の方法についてもサンプルコードを交えて、初心者にも分かりやすく説明しています。


スポンサーリンク

Pythonで条件分岐を行う際、if文を使用しますが、複数の条件を組み合わせる場合にはいくつかの方法があります。本記事では、それらの方法や文字列比較・基本的な使い方についても詳しく解説します。

論理演算子を使用する

and を使用する

and を使うと、すべての条件が満たされた場合にTrueとなります。

if-ex01.py
x = 10
y = 20
if x > 5 and y < 30:
print("条件を満たしています")

この場合、x > 5 かつ y < 30 の両方が真であるため、printが実行されます。

or を使用する

or を使うと、いずれかの条件が満たされればTrueとなります。

if-ex02.py
x = 10
y = 50
if x > 5 or y < 30:
print("いずれかの条件を満たしています")

この場合、x > 5が真なので、printが実行されます。

not を使用する

not を使うことで、条件を反転させることができます。

if-ex03.py
x = 10
if not x < 5:
print("xは5未満ではありません")

この場合、x < 5 は偽(False)なので、not によって真(True)となり、printが実行されます。

in を使用する

リストやタプルの中に値が含まれているかどうかを条件にできます。

if-ex04.py
value = 3
if value in [1, 2, 3, 4, 5]:
print("リスト内に値が含まれています")

is を使用する

is を使うと、オブジェクトの同一性を比較できます。

if-ex05.py
a = None
if a is None:
print("aはNoneです")

この場合、aNoneであるため、printが実行されます。

文字列比較を行う

Pythonでは、文字列を比較する際に==!= を使用できます。

if-ex06.py
text = "hello"
if text == "hello":
print("文字列は 'hello' です")

また、大文字・小文字を区別せずに比較したい場合は .lower().upper() を使用すると便利です。

if-ex07.py
text = "Hello"
if text.lower() == "hello":
print("大文字小文字を区別せずに比較しました")

部分一致を判定する場合は in を使います。

if-ex08.py
text = "Python is fun"
if "Python" in text:
print("文字列に 'Python' が含まれています")

elif を使用する

elif を使うことで、複数の条件を順番に評価できます。

if-ex09.py
x = 10
if x < 5:
print("xは5未満です")
elif x < 15:
print("xは5以上15未満です")
else:
print("xは15以上です")

この場合、x < 15 が真なので、print("xは5以上15未満です")が実行されます。

複雑な条件式の扱い

複数の条件を組み合わせる場合は、() を使って優先順位を明確にすることができます。

if-ex10.py
x = 10
y = 20
z = 30
if (x > 5 and y < 25) or z == 30:
print("条件が成立しました")

この場合、x > 5 and y < 25 が真であるため、全体として真となりprintが実行されます。

all()any() を使用する

all() はすべての条件が満たされる場合にTrueを返し、any() はいずれかの条件が満たされる場合にTrueを返します。

if-ex11.py
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文では、andornotiniselif などを活用して複数の条件を指定できます。さらに、all()any() を使うことで、リストやタプル内の要素を一括で判定することも可能です。
表でまとめると以下の通りになります。

方法説明使用例
andすべての条件が満たされた場合にTrueif x > 5 and y < 30:
orいずれかの条件が満たされればTrueif 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ライフを!
スポンサーリンク
Scroll to Top