5-2. Pythonのif文による条件分岐


1. 条件文とは?

プログラムである条件を満たしているかを判定し、その結果によって後の処理を分けたい場合、条件文を使います。

例えば、「ユーザxは20才以上である」という条件文に対して、True (真) なら処理Aを、False (偽) なら処理Bをする場合などがあります。


2. if文の書き方

Pythonで条件文を記載するときはif文を使います。
if の後に条件文を書き、条件文の末尾に : コロンをつけます。
改行し、インデントをつけてその条件文がTrueの場合の処理を記載します。

if 条件文:
    条件文がTrueだった時の処理

イメージ

Python_if文で条件分岐のイメージ図

x = ['apple', 'banana', 'orange']

if 'apple' in x:
    print('りんごが含まれます')

>> りんごが含まれます


3. if … elif を使った条件分岐

条件文は複数設定することができます。
条件文AがFalseの場合にさらに条件Bを設定し、条件文Bの結果によって後の処理を分岐させます。

if 条件文A: の後のTrueだった時の処理の下に、インデントをあげて elif 条件文B: を書き、その後に改行をしてTrueだった時の処理を書きます。

if 条件文A:
    条件文AがTrueだった時の処理A
elif 条件文B:
    条件文AがFalseで条件文がBだった時の処理B

イメージ図

Python_if_elif_で条件分岐のイメージ図

x = ['apple', 'banana', 'orange']

if 'egg' in x:
    print('卵が含まれます。')
elif 'apple' in x:
    print('卵は含まれていませんが、りんごは含まれます。')

>> 卵は含まれていませんが、りんごは含まれます。

4. if … else を使った条件分岐

elseを使うと、条件文がFalseの場合の処理を設定することができます。
else: の後にインデントを下げて、Falseの場合の処理を記載します。

if 条件文A:
    条件文がTrueだった時の処理A
else:
    条件文がFalseだった時の処理B

イメージ

Python_if_else文による条件分岐のイメージ

x = ['apple', 'banana', 'orange']

if 'egg' in x:
    print('卵が含まれます。')
else:
    print('卵は含まれません。')

>> 卵は含まれません。

5. if … elif … else による条件分岐

elifelseは一緒に使うこともできます。
また、elif は複数使うこともできます。

if 条件文A:
    条件AがTrueの時の処理A
elif 条件B:
    条件AがFalseで条件BがTrueの時の処理B
elif 条件C:
    条件Aと条件BがFalseで条件CがTrueの時の処理C
else:
    条件Aと条件Bと条件CがFalseの時の処理D

x = ['apple', 'banana', 'orange']

if 'tomato' in x:
    print('トマトが含まれています。')
elif 'lemon' in x:
    print('トマトは含まれていませんが、レモンが含まれています。')
elif 'lettuce' in x:
    print('トマトもレモンも含まれていませんが、レタスが含まれています。')
else:
    print('トマトもレモンもレタスも含まれていません。')

>> トマトもレモンもレタスも含まれていません。

6. if文に論理値を使う

ifの後に記載する条件文は論理値も使えます。
Trueの場合は必ずif文を通ることになり、Falseの場合は必ず通りません。

if True:
    print('このprint文は必ず実行されます。')

>> このprint文は必ず実行されます。


Pythonの論理型と真理判定のページで解説したとおり、True, False 以外の値もif文の条件文に設定することができますが、あまり一般的には使われません。
▶︎ Python 論理型 (Bool型) と真理値判定 – Falseとして扱われるもの

if 0:
    print('このprint文は実行されません。')

if 'abcde':
    print('このprint文は必ず実行されます。')

>> このprint文は必ず実行されます。


7. 参考 Python 公式ドキュメント


このエントリーをはてなブックマークに追加