Python - if文 による条件分岐

条件により分岐を行うには if、else、elif を使用します。

Python の条件分岐

if <条件1>:
    <条件1が真の時に実行する処理>
elif <条件2>:
    <条件1が偽で、条件2が真の時に実行する処理>
else:
    <条件1と条件2が偽の時に実行する処理>
<条件に関わらず実行する処理>

条件に一致したとき、処理を実行

if は 与えられた条件が 真(True) のとき、コロン(:)に続くインデントされたブロックを実行します。
if <条件>:
    <条件が真の時に実行する処理>
<条件に関わらず実行する処理>

次の例サンプルコードは 変数 value の値が 10のとき、'値は10です。' を表示します。

if value == 10:
    print('値は10です。')

複数の分岐

複数に分岐したい場合、if に加えて elif を使用します。

条件1 が 偽 の場合、条件2 の判定が行われます。 条件1 が 真 の場合、条件2 以降は実行されません。例えば 条件1 と 条件2 がどちらも 真 となるような場合、条件1 の処理のみ実行されます。

if <条件1>:
    <条件1が真の時に実行する処理>
elif <条件2>:
    <条件1が偽で、条件2が真の時に実行する処理>
elif <条件3>:
    <条件1と条件2が偽で、条件3が真の時に実行する処理>
<条件に関わらず実行する処理>

次のサンプルコードは 変数 value の値が 100以上 のとき、'値は100以上です。' を、99 ~ 50 のとき '値は50以上です。'を、25以上 のとき '値は25以上です。'を表示します。

if value >= 100:
    print('値は100以上です。')
elif value >= 50:
    print('値は50以上です。')
elif value >= 25:
    print('値は25以上です。')

条件が 偽 のとき、処理を実行

else は if または elif の条件が 全て 偽 の場合に実行されます。
if <条件>:
    <条件が真の時に実行する処理>
else:
    <条件が偽の時に実行する処理>
<条件に関わらず実行する処理>
if <条件1>:
    <条件1が真の時に実行する処理>
elif <条件2>:
    <条件1が偽で、条件2が真の時に実行する処理>
else:
    <条件1と条件2が偽の時に実行する処理>
<条件に関わらず実行する処理>

次の例サンプルコードは 変数 value の値が 10のとき、'値は10です。' を、10以外の時は '値は10以外です。' を表示します。

if value == 10:
    print('値は10です。')
else:
    print('値は10以外です。')

次のサンプルコードは 変数 value の値が 25未満 のとき '値は25未満です。'を表示します。

if value >= 100:
    print('値は100以上です。')
elif value >= 50:
    print('値は50以上です。')
elif value >= 25:
    print('値は25以上です。')
else:
    print('値は25未満です。')

真と偽

Pythonでは、TrueとFalseはブール型の値で、条件判定などで使われます。これらはそれぞれ「真」と「偽」を表します。

たとえば、比較演算子==は、左辺と右辺が一致するとTrueを、一致しない場合はFalseを返します。

print(1 == 1)  # 結果 = True
print(1 == 2)  # 結果 = False

次のサンプルコードは、必ず '真です。' が表示されます。

if True:
    print('真です。')

参考資料

検証環境