Pythonのfor文/while文のブロックの中で利用されるcontinue/break文の基本から、2つの命令の違いについて端的に分かりやすく解説します。
全てサンプルコードをつけて解説しますので、初心者の方でもぱっと理解しやすく学べます。
Pythonエンジニアや、Pythonを学習中の方であれば知らないと恥ずかしい超基本知識ですので、是非最後までご覧ください。
早速解説を始めます。
continue/breakの利用シーン
continue/breakは、どちらも繰り返し処理の中で利用される命令です。
繰り返し処理とは、その名の通り同じ処理を複数回繰り返す処理のこと。
例えば、「こんにちは!」という文字を100回表示させたい場合に、文字を表示する処理を100行書くのではなく、for文/while文を利用することで1行の記述で済ませることができます。

ですが、その中で例えば50回目の処理を行っているときに、処理を中断させたい場合や、50回目の処理だけスキップしたい場合が出てくることもあります。
そんな時に利用するのが、continue文でありbreak文です。
continue/breakを100%理解するためには、前提としてfor文/while文の理解を必要不可欠。
本当に理解しているかどうか不安な方は以下の記事を先にご覧になっていただくことをおすすめします。
Python:continue
まずは、continueから。
continueは、繰り返し処理をスキップする役割を担います。
for a in range(10): if a == 5: continue print(a) # 5だけ表示されない(aが5の場合のみ繰り返し処理が行われない) """ 0 1 2 3 4 6 7 8 9 """
より丁寧に説明すると、continue文が実行されるとそれ以降の繰り返し処理が行われず、for文/continue文の先頭に戻ります。
より、正確に理解できるよう以下のサンプルコードをご覧ください。
for a in range(5): print("開始") if a == 3: continue print(a) print("終了\n") """ 開始 0 終了 開始 1 終了 開始 2 終了 開始 ← 開始 4 終了 """
5回目の繰り返し処理で、continue文が実行されます。
continue文が実行された5回目の繰り返し処理では、continueが記述された前の処理「print("開始")」は実行されていますが、その後の処理「print("終了\n")」は実行されません。
5回目の繰り返し処理そのものが実行されないわけではなく、continue文以降の処理が行われていないという点に注意して理解しましょう。
サンプルコードで出てきたif文については、こちらの記事で文法と処理内容を詳しく解説しております。
Python:break
break文は、繰り返し処理そのものを終了させる役割を担います。
早速以下のサンプルコードをご覧ください。
for a in range(10): if a == 5: break print(a) """ 0 1 2 3 4 """
5回目の繰り返し処理の中で、break文が実行され6回目以降の処理が全く行われていないことがお分かりになるかと思います。
continue・・・繰り返し処理のスキップ(以降の処理を行わず次の繰り返しへ)
break・・・繰り返し処理の終了(以降の処理を行わず次の繰り返し処理も行わない)
丁寧に理解すれば、両者は決して混同してしまうようなものではありません。
continue/breakという単語の意味そのものから推測できる内容ですので決して忘れることがないようにしましょう。
break文/else
ちょっとだけ特殊な用法”else”の使い方について補足します。
for文/while文の後に、else文を付け加えるとbreak文が実行されない場合のみに実行する処理を定義することができます。
どういうことか、早速以下のサンプルコードをご覧ください。
for a in range(10): if a == 5: break print(a) else: print("処理はすべて正常に行われました。") """ 0 1 2 3 4 """
break文が実行されたため、elseブロックの処理が行われていません。
for a in range(5): if a == 5: break print(a) else: print("処理はすべて正常に行われました。") """ 0 1 2 3 4 処理はすべて正常に行われました。 """
こちらは、break文が実行されなかったためelseブロックの処理が実行されている例です。
このようにelseブロックをうまく利用することで、break文が実行されたかどうかを判定することができます。
この技も便利なので、continue/breakと一緒に合わせて覚えとくと良いでしょう。
Pythonを1から学習したい方は
Pythonをより実践的に学びたい―。実際にコーディングをしながら学びたい―。独学に限界を感じている―。
そんな方には、無料体験/オンライン完結もあるプログラミングスクールで学ぶのがおすすめです。都度検索しながら知識を補完していくのではなく、1から体系立てて学ぶことで短時間・かつ効率的にスキルハックすることが可能です。
各プログラミングスクールの特徴をまとめた記事をこちらに記載しておきますので、是非ご覧ください。