Pythonのループを抜ける方法にはいくつか種類があり、それぞれ用途や動作が異なります。
ここでは、forループとwhileループの両方におけるループの抜け方を、基本から応用まで丁寧に解説します。
目次
Pythonのループの基本
Pythonでは以下の2種類のループがよく使われます。
forループ:指定回数やイテラブル(リスト、辞書など)に対して繰り返すwhileループ:条件が真の間、繰り返す
ループを抜ける基本的な方法
break文(即座にループを抜ける)
breakを使うと、現在のループの実行を即座に終了して、次の処理へ進みます。
例(forループ)
for i in range(10):
if i == 5:
break
print(i)
結果:0 1 2 3 4
例(whileループ)
count = 0
while True:
if count == 3:
break
print(count)
count += 1
結果:0 1 2
条件が満たされたときにループを終える(while)
whileループでは、条件式がFalseになると自動的に終了します。
x = 0
while x < 3:
print(x)
x += 1
結果:0 1 2
return文(関数内でループを抜けて関数自体も終了)
ループの中でreturnを使うと、ループだけでなく関数も終了します。
def find_even(numbers):
for n in numbers:
if n % 2 == 0:
return n
return None
print(find_even([1, 3, 5, 6, 7]))
結果:6
ループを「スキップ」する方法:continue
continueを使うと、現在のループの1回分の処理をスキップして次に進みます。
for i in range(5):
if i == 2:
continue
print(i)
結果:0 1 3 4
ネストしたループ(ループの中のループ)からの抜け方
breakで内側のループだけを終了
for i in range(3):
for j in range(3):
if j == 1:
break
print(f"i={i}, j={j}")
結果:
i=0, j=0
i=1, j=0
i=2, j=0
応用:else節を使ったループの終了判定
Pythonのforやwhileには珍しい構文があり、ループが途中でbreakされず正常終了した場合に限りelseブロックが実行されます。
for i in range(5):
if i == 7:
break
else:
print("ループは break されずに最後まで実行されました。")
結果:ループは break されずに最後まで実行されました。
まとめ

| 方法 | 説明 | よく使う場面 |
|---|---|---|
break | ループの途中で抜ける | 特定条件で即終了したい時 |
| 条件式終了 | while の条件が満たされなくなると自動終了 | 明示的に制御したいとき |
return | 関数ごと抜ける | 関数内の早期終了 |
continue | 1回の処理をスキップして次のループへ | 条件に合わないときスキップ |
else節 | breakされずに終了したときのみ追加の処理が実行される | 特定条件が見つからなかった時など |
| フラグ変数 | ネストループで外側まで終了させる | 2重以上のループ |
Pythonのループの制御はとても柔軟で、breakやcontinue、elseなどを組み合わせることで、効率よくかつ読みやすいコードを書くことができます。
以上、Pythonのループの抜け方についてでした。
最後までお読みいただき、ありがとうございました。
