用語比較
break・continue・ループのelse節の違い(ループの途中終了と飛ばし)
break、continue、ループのelse節の違いは、ループをどうするかです。breakはループから抜け、continueはその回の残りを飛ばして次の回へ進み、else節はbreakなしでループが終わったときだけ実行されます。公式チュートリアル4.4は、break文を「その break 文を内包している最も内側にある for 文または while 文から抜け出すことができます」、continue文を「ループの次のイテレーションを実行します」と説明しています。
公式の出題範囲は主教材(Pythonチュートリアル 第四版対応)の章単位で示され、個別の文の出題は公表されていません。当サイトは、公式チュートリアル4.4と4.5の記述を事実としてまとめています。コード例はPythonで実行して出力を確認しています。
この記事の目次
この記事の根拠と出典
各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。Python3エンジニア認定基礎試験の一次情報確認日: 2026-09-18。
結論
break
最も内側のforまたはwhileから抜ける。else節があっても実行されない。
continue
その回の残りを飛ばして、ループの次の回へ進む。ループ自体は終わらない。
ループのelse節
breakを実行せずにループが終わったときに実行される。break、return、例外で終わったときは実行されない。
違いを表で確認
| 比較軸 | break | continue |
|---|---|---|
| ループへの作用 | break: ループを終わらせる | continue: その回だけを終わらせ、次の回へ進む |
| else節との関係 | break: 実行するとelse節はスキップされる | continue: else節の実行に影響しない(ループは最後まで回る) |
| else節が実行される条件 | forの場合は最後の回が実行されたあと。whileの場合は条件が偽になったあと | breakで終了したとき、returnや例外で途中終了したときは実行されない |
| 公式チュートリアルの位置 | 4.4「break 文と continue 文」で、break と continue が説明される | 4.5「ループの else 節」で、breakと対になる場合があると説明される |
Python3エンジニア認定基礎試験の学習に使う書籍(Amazon)
試験範囲を通して読むときの1冊です。読んだ章は、このサイトの章別問題で確かめられます。
どこで迷っているかを切り分ける
breakとcontinueの違いが曖昧な人
breakはループ全体を終わらせ、continueは今の回だけを終わらせます。continueの後も、次の回が始まります。
else節をif文のelseと同じだと思っている人
ループのelse節は、条件が偽だったときではなく、breakなしでループが終わったときに実行されます。forでもwhileでも同じ考え方です。
素数の探索のような「見つからなかった」を判定したい人
公式チュートリアル4.5の例のように、内側のループで約数が見つかったらbreakし、見つからずに最後まで回ったときだけelse節で素数と出力する書き方ができます。
具体例で使い分ける
例 1
breakとelse節(素数の探索)
n を2から順に割っていき、割り切れたらbreakし、割り切れなければelse節で素数と出力する場面です。
- for n in [3, 4]: の中で、for x in range(2, n): if n % x == 0: break を行い、対応するelse節で n を出力します。
- 実行すると、3では割り切れる数がなくbreakしないので else 3 と出力されます。
- 4では x が2のときに割り切れてbreakし、else節は実行されません。
結論: breakしなかった3だけでelse節が実行されます。
例 2
continueで偶数を飛ばす
1から4まで、奇数だけを出力する場面です。
- for num in range(1, 5): の中で、num % 2 == 0 ならcontinueし、そうでなければ出力します。
- 実行すると、1と3の2行が出力されます。
- 偶数の回ではcontinueで残りの処理が飛ばされますが、ループは最後の回まで続きます。
結論: continueはその回の残りだけを飛ばします。
例 3
whileのelse節
i が2未満の間だけ1ずつ増やすwhileループにelse節を付ける場面です。
- i = 0 から始め、while i < 2: i += 1 を繰り返します。
- 条件が偽になるとループが終わり、breakは実行されていないので、else節が実行されます。
- 実行すると、else節の出力として i の値2が得られます。
結論: whileでは、条件が偽になったあとにelse節が実行されます。
問題文から答えを選ぶ手順
- 1
breakがあるか確認する
ループの中にbreakがあり、それが実行されるなら、そのループのelse節は実行されません。
- 2
continueの位置を確認する
continueは今の回の残りを飛ばすだけです。ループを終わらせないので、else節の判定には関係しません。
- 3
ループの終わり方を確認する
条件が偽になった、またはシーケンスを使い切ったならelse節が実行されます。returnや例外で抜けたなら実行されません。
- 4
出力を手でたどる
最初の1回から順に、どの文が実行されるかを書き出して、出力の行数を数えます。
試験での見分け方
- 1breakは、最も内側のforまたはwhileから抜ける。
- 2continueは、ループの次の回を実行する。ループは終わらない。
- 3ループのelse節は、breakを実行せずにループが終了したときに実行される。
- 4forのelse節は最後の回のあとに、whileのelse節は条件が偽になったあとに実行される。
- 5returnや例外でループが途中で終わったときも、else節はスキップされる。
誤答しやすい選択肢
continueでループが終わると考える
修正: continueは次の回へ進みます。ループを終わらせるのはbreakです。
ループのelse節を、ループが1回も回らなかったときの処理だと考える
修正: else節は、breakなしでループが終わったときに実行されます。公式チュートリアルは、forでは最後の回が実行されたあとに実行されると述べています。
入れ子のループで、breakが外側のループも抜けると考える
修正: breakは、それを内包している最も内側のforまたはwhileから抜けます。外側のループは続きます。
breakしたループにもelse節が実行されると考える
修正: ループがbreakで終了したときは、else節は実行されません。
確認問題
Q1for i in range(3): if i == 1: break の後にelse節があるとき、else節は実行される?
答え: 実行されない
i が1のときにbreakで終了するので、else節はスキップされます。ループのあとの i の値は1です。
Q2for num in range(1, 5): で、偶数のときcontinueし、そうでなければ出力すると、何行出力される?
答え: 2行(1と3)
偶数の2と4ではcontinueで出力が飛ばされます。
Q3公式チュートリアルによると、ループのelse節が実行されないのは、どんなときか?
答え: breakで終了したとき(returnや例外で途中終了したときも実行されない)
公式チュートリアル4.5は、breakを実行せずにループが終了すると else 節が実行されると述べています。
到達チェック
- breakとcontinueの動きの違いを説明できる
- ループのelse節が実行される条件を説明できる
- forとwhileでelse節が実行されるタイミングを説明できる
- 入れ子のループでbreakが抜ける範囲を説明できる
- コードの出力を手でたどって確かめられる
関連ページで確認する
同じ資格で次に知りたいこと
- ジェネレータとリストの違い(メモリと遅延評価)
ジェネレータ(式)とリストの違いを、値を作るタイミング、メモリ、一度しか使えない点、len()が使えない点、Python 3 エンジニア認定基礎試験での読み取り手順と確認問題まで整理します。
- 継承とsuper()・多重継承の探索順の違い|Python3エンジニア認定基礎試験で判断する
単一継承、基底クラスのメソッドの直接呼び出し、super()、多重継承の探索順の違いを、公式チュートリアル9章の記載にそって整理。Python 3 エンジニア認定基礎試験の第9章(クラス)対策として、確認問題つきで説明します。
- 辞書の d[key] と d.get(key) の違い(KeyError の扱い)
辞書の d[key] と d.get(key) の違いを、キーが存在しないときの KeyError と None、既定値の指定、Python 3.9 で実際に実行した出力、Python3エンジニア認定基礎試験での判断手順と確認問題まで解説します。
よくある質問
Qbreakとcontinueの違いは?
breakはループから抜け、continueはループの次の回を実行します。
Qループのelse節はいつ実行されますか?
breakを実行せずにループが終了したときです。forでは最後の回のあと、whileでは条件が偽になったあとに実行されます。
Qbreakしたとき、else節は実行されますか?
実行されません。returnや例外でループが途中で終了したときも、else節は実行されません。
Q入れ子のループでbreakするとどこまで抜けますか?
公式チュートリアルは、breakはそれを内包している最も内側にあるforまたはwhileから抜けると述べています。
Qbreak・continue・ループのelse節はPython3エンジニア認定基礎試験の範囲ですか?
公式の出題範囲は主教材の章単位で示され、個別の文までは公表されていません。これらは公式チュートリアルの4.4と4.5に登場するため、当サイトの事実リストに含めています。
次に見る比較
- G検定・DS検定・統計検定2級で重なる用語10語の比較
同じ名前の用語の定義と収録章を、資格ごとに並べます。
- ベイズの定理と条件付き確率の違い(統計検定2級の式と計算例)
求める確率の向きの違いと、陽性になる確率の計算例を確かめます。
- 紛らわしい用語ペア早見表
混同しやすい用語の違いと判定の手掛かりを、資格別の一覧で確かめます。
執筆: ミナト編集部(運営者情報を見る)
