\

Pythonのelifは、if文に書かれた条件と一致しなかった場合に、別の条件との一致確認を行うための構文です。例えば、「18歳以上の男性」もしくは「16歳以上の女性」という条件でチェックを行いたい場合に、「18歳以上の男性か」のチェックをif文で、「16歳以上の女性か」のチェックをelif文で行うというイメージです。

if … elif … elseの書き方

if … elif … elseは、同じ階層 (インデント)で並べて書きます。

if 条件A:
    処理A
elif 条件B:
    処理B
else:
    処理C

上記のように書くと、以下のような処理になります。

  • 条件A に一致する場合は処理A
  • 条件A には一致しないが、条件B には一致する場合は処理B
  • 条件A, B のどちらにも一致しない場合は処理C

気を付けておきたいのが「条件A, Bのどちらにも一致する場合」ですが、この場合には条件Aの判定文が先に処理されるため処理Aが実行されます。判定条件の優先度を考えて if … elif … elseの条件を書くように注意しましょう。

実際に書いてみよう

以下の条件で処理を行うコードを書いてみましょう。

  • 「変数aが10以上」であれば、aを2倍した値を表示
  • 「変数aが-10以下」であれば、aを-3倍した値を表示
  • 「それ以外」であれば、aをそのまま表示
def check_value(a):
    if a >= 10:
        print(a * 2)
    elif a <= -10:
        print(a * -3)
    else:
        print(a)

a = -15
check_value(a)  # => -45

a = -15で実行すると、最初にif a >= 10のチェックを行い一致しないので次の条件へ、続けてelif a <= -10のチェックを行い一致するので-3倍した値を出力、という流れになります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です