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('真です。')
参考資料
検証環境
- Python 3.11.3 (tags/v3.11.3:f3909b8, Apr 4 2023, 23:49:59) [MSC v.1934 64 bit (AMD64)] on win32
- Microsoft Windows 10 Enterprise Version 22H2 OS Build 19045.3693 Experience: Windows Feature Experience Pack 1000.19053.1000.0