Pythonのbreakとcontinueの違いとは?ループを制御するテクニックを解説
生徒
「先生、Pythonでループって何回も同じ処理を繰り返すってことですよね?でも、その途中で止めたり、次に飛ばしたりする方法ってありますか?」
先生
「良い視点だね。Pythonではbreakとcontinueというキーワードを使って、ループの流れをコントロールすることができるんだ。」
生徒
「えっ、2つもあるんですか?どっちを使えばいいのか分からなそう……」
先生
「大丈夫、これからbreakとcontinueの違いを、やさしく丁寧に解説していくよ。」
1. Pythonのループとは?基本をおさらい
まずは前提として、Pythonの「ループ」について簡単におさらいしておきましょう。ループとは、同じ処理を何度も繰り返すための仕組みのことです。たとえば、1から10まで数を数えるような処理を自動でやってくれます。
Pythonには主に2つのループ文があります:
for文:決まった回数だけ繰り返すwhile文:条件が真(True)のあいだ繰り返す
2. break文とは?ループを途中でやめる
break(ブレーク)文は、「ループを途中で終了する」ための命令です。たとえば、ループの途中で特定の条件に当てはまったら、それ以上は繰り返さずに外に出ることができます。
例えるなら、テレビを見ていて「急に外出しなきゃ!」となって途中でスイッチを切るようなものです。
以下はbreakの使い方の例です。
for num in range(1, 11):
if num == 5:
print("5になったのでループを終了します。")
break
print(f"現在の数値: {num}")
出力結果:
現在の数値: 1
現在の数値: 2
現在の数値: 3
現在の数値: 4
5になったのでループを終了します。
このように、num == 5のときにbreakが実行されて、以降の処理が行われなくなります。
3. continue文とは?次の繰り返しへスキップする
continue(コンティニュー)文は、「その回の処理だけスキップして、次の繰り返しに進む」ための命令です。
例えるなら、晩ごはんに出たピーマンだけ避けて、他のおかずは食べ続けるようなものです。
以下はcontinueを使った例です。
for num in range(1, 6):
if num == 3:
print("3はスキップします。")
continue
print(f"数値: {num}")
出力結果:
数値: 1
数値: 2
3はスキップします。
数値: 4
数値: 5
num == 3のときだけ、printがスキップされ、ループは止まらずに次へ進みます。
4. breakとcontinueの違いをわかりやすく整理
ここまでで、breakとcontinueの基本的な使い方が分かってきましたね。改めて2つの違いをまとめておきましょう。
| キーワード | 動作の内容 | ループの続き |
|---|---|---|
break |
ループを完全に終了する | 以降の処理は実行されない |
continue |
今の繰り返しをスキップする | 次の繰り返しには進む |
簡単に言えば、breakはループからの脱出、continueは今だけ飛ばすという違いがあります。
5. どんなときに使うの?実用例を見てみよう
それでは、実際にどういう場面でbreakやcontinueを使うのかを、実用的なシーンで紹介します。
数字の中から最初の偶数を見つけたいとき(break)
numbers = [1, 3, 7, 8, 9]
for n in numbers:
if n % 2 == 0:
print(f"最初の偶数: {n}")
break
0を除いて合計を出したいとき(continue)
numbers = [3, 0, 4, 0, 5]
total = 0
for n in numbers:
if n == 0:
continue
total += n
print(f"0を除いた合計: {total}")
6. 初心者が気をつけたいポイント
breakやcontinueはループの中でしか使えません。- インデント(字下げ)に注意!Pythonでは、インデントが正しくないとエラーになります。
- 複雑になりすぎると、処理の流れがわかりにくくなるので使いすぎには注意です。
初心者のうちは、まず簡単な使い方から少しずつ慣れていきましょう。
まとめ
breakとcontinueはループ処理を理解するための重要キーワード
この記事では、Pythonにおけるループ制御の基本である break と continue について、
for文やwhile文の流れの中でどのように動作するのかを詳しく見てきました。
Pythonのプログラミングでは、同じ処理を何度も繰り返す「ループ処理」が頻繁に登場します。
その中で、状況に応じてループを途中で終了したり、特定の処理だけを飛ばしたりできる
break文とcontinue文は、実用性が非常に高い構文です。
breakは「ここでループを終わらせたい」という意思をはっきり示すための命令であり、 条件に一致した瞬間にループ全体を終了させます。 一方、continueは「今回は処理をしないで、次に進みたい」という場合に使われ、 ループ自体は継続しながら、特定の処理だけをスキップします。 この違いを正しく理解することで、ループの流れを頭の中でイメージしやすくなり、 バグの少ない読みやすいコードが書けるようになります。
for文・while文と組み合わせて使う意識が大切
breakとcontinueは単体で使うものではなく、必ずfor文やwhile文の中で使用します。 for文では「決まった回数や要素数を処理する中で条件に応じて制御したいとき」に、 while文では「条件が満たされている間に、状況を見て制御したいとき」に使われることが多いです。 特にwhile文とbreakを組み合わせた書き方は、ユーザー入力を待つ処理や、 終了条件が途中で決まるプログラムでよく使われます。
continueは、データの中から特定の値だけを無視したいときや、 条件に合わない場合の処理を簡潔に書きたいときに便利です。 if文の中でcontinueを使うことで、 「この条件のときは何もしない」という意図をコードとして分かりやすく表現できます。 Python初心者のうちは、処理の流れを紙に書いたり、printで確認したりしながら、 breakとcontinueがどのタイミングで実行されるのかを意識すると理解が深まります。
実務や学習で役立つシンプルなサンプル
最後に、breakとcontinueの違いがはっきり分かるシンプルなサンプルをもう一度確認してみましょう。 次のコードでは、負の数が出てきたらループを終了し、0はスキップする例です。
numbers = [5, 3, 0, 2, -1, 4]
for n in numbers:
if n < 0:
print("負の数が見つかったので終了します。")
break
if n == 0:
continue
print("処理中の数値:", n)
このように、breakとcontinueを組み合わせることで、 ループの中の条件分岐をすっきり整理できます。 無理にすべてをif文だけで書こうとせず、 「ここで終わり」「ここは飛ばす」という判断をコードで明確にすることが、 Pythonらしい読みやすいプログラムにつながります。
生徒「breakとcontinueって、最初は似ていると思っていました。」
先生「そう感じる人は多いよ。でも役割ははっきり違うんだ。」
生徒「breakはループを終わらせて、continueは今だけ飛ばす、ですね。」
先生「その理解で完璧。処理の流れを言葉で説明できるのが大事だよ。」
生徒「for文やwhile文と一緒に考えると、だいぶ分かりやすくなりました。」
先生「いいね。これからは実際に書きながら、自然に使えるようにしていこう。」