breakとcontinueの違い|Pythonのお勉強

たまに少し不安になるbreakとcontinueの違いについてです。

breakとは

ループを抜けて、次の処理に行きます。例えばwhileループAの中のbreakに引っ掛かると、もうループAには戻ってきません。

continueとは

ループ内の処理を中断して、ループに戻ります。例えば、whileループBの中のcontinueに引っ掛かると、ループ内のその後の処理は行わず、ループBの最初に戻ります。

while文の場合、条件一致(ループ処理判定)→continueに引っかかる→条件一致(ループ処理判定)となり、無限ループとなる可能性もあるので注意です。

比較図

汚い絵ですが、比較する図を作りました。

サンプルプログラム

簡単なサンプルを書いてみました。10回繰り返すwhileのループですが、3の時にcontinueをし、7の時にbreakをしています。そのため、3の時のif文の中のcontinue直下のprintは引っ掛かりません。

また、7でbreakするので、8以降の処理は行われません。

サンプルプログラムの結果

>>> 
*** Remote Interpreter Reinitialized ***
Hey, this is 1.
Hey, this is 2.
Hey, this is 3.
Oh, it's 3. Do continue.
Hey, this is 4.
Hey, this is 5.
Hey, this is 6.
Hey, this is 7.
Oh, it's 7. Do break.
>>> 

サンプルプログラムのコード

今回作ったコードを載せておきます。

# Looping 10 times
times = 1
while times <= 10:
    print(f"Hey, this is {times}.")
    if times == 3:
        print(f"Oh, it's {times}. Do continue.")
        times += 1
        continue
        print("Aft continue, this shouldn't appear!!")
    elif times == 7:
        print(f"Oh, it's {times}. Do break.")
        times += 1
        break
        print("Aft break, this shouldn't appear!!")
    else:
        times += 1
めっさん
  • めっさん
  • 当サイトの管理人。ニューヨークの大学を飛び級で卒業。その後日系企業でグローバル案件に携わる。大小様々な企業を転々としながら、マレーシアやアメリカへの赴任経験を持つ。バイリンガルITエンジニアとしていかに楽に稼ぐか日々考えている。年齢は秘密だけど定年も間近かな。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です