Pythonのelseによる条件分岐のデフォルト処理と使い方をわかりやすく解説

スポンサーリンク
スポンサーリンク

elseの概要

条件分岐のデフォルト処理 Python予約語

else

概要 else は、ifelif の条件がすべて False の場合に実行されるデフォルト処理を定義するためのキーワードです。

わかりやすく説明 else は「どの条件にも当てはまらなかった場合の最後の手段」です。例えば、テストの点数を判定する場合、すべての条件に当てはまらない「不合格」などの処理を記述できます。

  • if の条件が False の場合に else の処理が実行されます。
  • elif と組み合わせることで、より柔軟な条件分岐が可能です。
  • else は単独では使用できず、必ず if または elif とセットで使います。

elseの基本的な使い方

以下の例では、if 条件が False の場合に else の処理が実行されます。

# else を使った条件分岐
x = 10

if x > 20:
    print("x は 20 より大きい")
else:
    print("x は 20 以下")
  • x > 20 の条件が成立しないため、else の処理が実行されます。
  • この例では、「x は 20 以下」と出力されます。

elif と組み合わせたelseの使用

複数の条件を評価し、最後のデフォルト処理として else を実行できます。

# elif と else の組み合わせ
score = 45

if score >= 80:
    print("合格")
elif score >= 50:
    print("再試験")
else:
    print("不合格")
  • score が 80 以上なら「合格」
  • 50 以上なら「再試験」
  • どちらにも当てはまらない場合は「不合格」となります。

else を while ループで使う

while ループで else を使うと、ループが正常終了したときに処理を実行できます。

# while ループで else を使う
count = 0

while count < 3:
    print(f"カウント: {count}")
    count += 1
else:
    print("ループが正常終了しました")
  • 通常のループ終了時に else の処理が実行されます。
  • 途中で break すると else の処理は実行されません。

else を for ループで使う

for ループで else を使うと、ループが正常終了したときに実行されます。

# for ループで else を使う
numbers = [1, 2, 3, 4, 5]

for num in numbers:
    if num == 6:
        print("見つかりました!")
        break
else:
    print("見つかりませんでした")
  • 6 がリストにないため、ループが最後まで実行され、else が実行されます。
  • break でループが中断された場合は、else の処理は実行されません。

elseの実践的な使用例

ユーザーの入力を受け取り、指定されたキーワードがあるかどうかを判定する例です。

# キーワードが見つかったか判定
words = ["apple", "banana", "cherry"]
search = input("探したい単語を入力してください: ")

for word in words:
    if word == search:
        print(f"{search} が見つかりました!")
        break
else:
    print(f"{search} はリストにありません")
  • リスト内に入力された単語があれば、break でループが終了します。
  • 見つからなければ else の処理が実行され、「リストにありません」と表示されます。

elseの注意点

  • else は単独では使えない: 必ず if または elif と組み合わせて使います。
  • for/while の else は break でスキップされる: break を使うと else の処理は実行されません。
  • すべての条件が成立しない場合のデフォルト処理を記述: else を使うことで、予期しない動作を防ぐことができます。

elseのよくある質問

Q: if だけで else は不要ですか?
A: はい。else は必須ではありませんが、条件が成立しなかった場合の処理を明示できます。
Q: elif を使わずに if だけを連続して書くとどうなりますか?
A: すべての if 文が独立して評価され、複数の条件が成立する場合は複数のブロックが実行されます。
Q: ループの else はどのような場合に使えますか?
A: forwhile で特定の条件に合致しなかった場合に、デフォルトの処理を行うときに使えます。

まとめ

else は、条件分岐やループ処理のデフォルト動作を定義するためのキーワードです。適切に活用することで、エラーを防ぎ、分岐処理を明確にできます。

  • if の条件が成立しない場合の処理を記述できます。
  • elif と組み合わせることで、複数の条件を順番に評価できます。
  • ループの else は、途中で break されなかった場合に実行されます。

適切に else を活用し、条件分岐を明確にしましょう。