Pythonの予約語「elif」の解説
elifとは何か
elifは、Pythonの条件分岐に使用される予約語で、「else if」の略です。if
文とelse
文の間に追加の条件を設定するために使います。複数の条件を順番にチェックし、最初にTrue
と評価された条件のブロックを実行します。elif
は、if
がFalse
のときに次の条件を確認するために役立ちます。
elifの基本的な使い方
以下は、elif
を使った条件分岐の基本的な例です。
score = 85
if score >= 90:
print("Aランク")
elif score >= 80:
print("Bランク")
elif score >= 70:
print("Cランク")
else:
print("Dランク")
このコードでは、score
の値に応じてランクが決まります。最初にif
文でscore >= 90
がチェックされ、True
であれば「Aランク」が表示されます。False
の場合は次にelif
で条件をチェックし、score >= 80
がTrue
なら「Bランク」が表示されます。このように、複数の条件を順番に確認していきます。
elifを使った複数の条件分岐
elif
は、条件が複数ある場合に便利です。以下に、温度に応じて異なるメッセージを表示する例を示します。
temperature = 30
if temperature >= 35:
print("非常に暑い")
elif temperature >= 25:
print("暑い")
elif temperature >= 15:
print("快適")
elif temperature >= 5:
print("少し寒い")
else:
print("寒い")
このコードでは、気温に応じて異なるメッセージが表示されます。最初に気温が35度以上であれば「非常に暑い」、25度以上であれば「暑い」という具合に、条件が順次チェックされます。
elifの動作の流れ
elif
は、if
文の条件がFalse
である場合に次の条件を評価します。最初にTrue
となる条件が見つかると、そのブロックが実行され、残りの条件は無視されます。以下の動作の流れを表にまとめます。
条件の状態 | 動作 |
---|---|
if の条件がTrue |
if のブロックが実行され、elif やelse は無視される |
if の条件がFalse で、elif の条件がTrue |
そのelif ブロックが実行され、それ以降の条件は無視される |
すべてのif とelif がFalse |
else ブロックが実行される |
elifとelseの違い
elif
は条件を持つのに対して、else
は条件を持ちません。else
はすべてのif
およびelif
の条件がFalse
のときに実行されるため、必ず最後に書きます。一方、elif
は何度でも使うことができ、複数の条件をチェックします。
複雑な条件式の例
より複雑な条件分岐を実現するために、elif
を使用して複数の条件を組み合わせることができます。以下の例では、ユーザーの年齢と身長に基づいてメッセージを表示します。
age = 20
height = 160
if age >= 18 and height >= 170:
print("大人で、身長も高い")
elif age >= 18 and height < 170:
print("大人だが、身長は低め")
elif age < 18 and height >= 170:
print("子供だが、身長は高い")
else:
print("子供で、身長も低い")
このコードでは、年齢と身長の両方に基づいてメッセージを表示します。複数の条件が組み合わされており、and
演算子で条件を組み合わせて、elif
で条件分岐を行っています。
まとめと注意点
elif
は複数の条件を順次チェックするために使われ、if
がFalse
のときに次の条件を評価します。- 複数の
elif
を使って、条件分岐を柔軟に設定することができます。 elif
は、最初にTrue
と評価された条件で処理が終了し、それ以降の条件は無視されます。elif
の条件がすべてFalse
であった場合、else
が実行されます。elif
を使いすぎると、コードが複雑になる可能性があるため、条件の簡潔さを心がけましょう。