【Python】continue/break文の違いを3分で理解する!

Python

Pythonのfor文/while文のブロックの中で利用されるcontinue/break文の基本から、2つの命令の違いについて端的に分かりやすく解説します。

全てサンプルコードをつけて解説しますので、初心者の方でもぱっと理解しやすく学べます。

このページで学べる内容
  • continue/breakを利用するシーン
  • continue文の意味と使い方
  • break文の意味と使い方
  • continue/breakとelse

Pythonエンジニアや、Pythonを学習中の方であれば知らないと恥ずかしい超基本知識ですので、是非最後までご覧ください。

早速解説を始めます。

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

continue/breakの利用シーン

continue/breakは、どちらも繰り返し処理の中で利用される命令です。

繰り返し処理とは、その名の通り同じ処理を複数回繰り返す処理のこと。

例えば、「こんにちは!」という文字を100回表示させたい場合に、文字を表示する処理を100行書くのではなく、for文/while文を利用することで1行の記述で済ませることができます。

ですが、その中で例えば50回目の処理を行っているときに、処理を中断させたい場合や、50回目の処理だけスキップしたい場合が出てくることもあります。

そんな時に利用するのが、continue文でありbreak文です。

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文以降の処理が行われていないという点に注意して理解しましょう。

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・・・繰り返し処理の終了(以降の処理を行わず次の繰り返し処理も行わない)

丁寧に理解すれば、両者は決して混同してしまうようなものではありません。

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から体系立てて学ぶことで短時間・かつ効率的にスキルハックすることが可能です。

各プログラミングスクールの特徴をまとめた記事をこちらに記載しておきますので、是非ご覧ください。

タイトルとURLをコピーしました