Pythonのelif
は、if文に書かれた条件と一致しなかった場合に、別の条件との一致確認を行うための構文です。具体的な使用例としては、「18歳以上の男性」もしくは「16歳以上の女性」という条件でチェックを行いたい場合に、「18歳以上の男性か」のチェックをif文で、「16歳以上の女性か」のチェックをelif文で行うというイメージです。
if 条件A:
処理A
elif 条件B:
処理B
else:
処理C
上記のように書くと、以下のような処理になります。
- 条件A に一致する場合は処理A
- 条件A には一致しないが、条件B には一致する場合は処理B
- 条件A, B のどちらにも一致しない場合は処理C
気を付けておきたいのが「条件A, Bのどちらにも一致する場合」ですが、この場合には条件Aの判定文が先に処理されるため処理Aが実行されます。判定条件の優先度を考えて if … elif … elseの条件を書くように注意しましょう。
他の言語ではswitch文による処理分岐がありますが、Pythonにはswitch文が存在しません。もし、変数Aの値で単純な処理分岐を行いたい場合には、dict型で関数との関連を定義するような方法も可能です。
def func_a():
処理A
def func_b():
処理B
func_dict = {"a": func_a, "b": func_b}
try:
func_dict[a]()
except KeyError:
処理C
どちらがわかりやすいかは、実装内容で判断するのが良いでしょう。
以上、Pythonのelif文についての解説でした。この記事がPythonの学習に役立つことを願っています。