Pythonのcontinue
文はループ(forループまたはwhileループ)内で使用され、その文が実行されると現在のループ(イテレーション)をすぐに終了し、次のループに移行します。
continue
文は、現在のループの反復をスキップして次に進む必要がある場合に有用です。
イテレーションは、ある処理が繰り返し実行される各ステップや周回を指します。より具体的に言うと、forループやwhileループなどのループ処理において、ループが一周することをイテレーションと呼びます。例えば、10回ループを回すとすれば、それは10回のイテレーション(繰り返し)を行うということになります。
このページでは、Pythonにおけるcontinue
文の使い方や注意点をサンプルコード付きで初心者向けにわかりやすく解説します。
Pythonエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識の1つです。是非最後までご覧ください。
Python:continue文
Pythonのcontinue
文は、ループ(forループまたはwhileループ)内で使われ、その実行により現在の繰り返し(ループの一周)をすぐに終了し、次の繰り返しに移行します。
continue
文は現在のループの繰り返しをスキップして、次の繰り返しにすぐに進む必要がある場合に便利です。言い換えると、「このループの残りの部分は実行せずに、次のループの繰り返しに直接移りたい」という場合に使われます。
continue
文の基本的な使い方を見てみましょう。
for i in range(10): if i == 5: continue print(i) # 出力結果→5のみ出力されない # 0 # 1 # 2 # 3 # 4 # 6 # 7 # 8 # 9
参考 forループ / range関数 / if文 / 比較演算子
上記のサンプルコードでは、range(10)
によって生成された0から9までの数字を順に出力します。
ただし、if i == 5:
の行にてi
が5の場合、continue
が実行されてその回のループ処理が中断され、次のイテレーション(i
が6になる)に。そのため、出力結果では5が表示されていません。
ループの中に複数の操作があり、特定の条件下で一部の操作だけをスキップしたいときには、continue
文を使うと効率的にコードを書くことができます。
Python:for文の中で利用するcontinue文
それでは実践的なコードを書きつつ、continue
文の使い方を一歩進めて解説します。まずforループでの応用例からです。
# リスト内の文字列で、'a'を含むものだけを新しいリストに追加する input_list = ['apple', 'banana', 'cherry', 'date', 'elderberry'] output_list = [] for word in input_list: if 'a' not in word: continue output_list.append(word) print(output_list)
このコードは、リスト内の各文字列に対して、'a'が含まれていない場合はその文字列をスキップ(continue
)し、'a'が含まれている文字列だけを新しいリストに追加します。
上記を出力した結果は['apple', 'banana', 'date']
となります。
このように、for文の中でループ処理をしたくないデータ・対象がある場合にcontinue文が威力を発揮します。
Python:while文の中で利用するcontinue文
次に、whileループでの応用例を見てみましょう。
# 1から順に整数を2で割り続ける、割り切れなくなったらその数値を出力し、100まで続ける num = 1 while num <= 100: temp = num while temp > 1: if temp % 2 != 0: # 割り切れない場合 print(num) break temp = temp / 2 else: continue # 割り切れる場合、次のnumへ進む num += 1
参考 代入演算子(+=)
このコードは1から100までの各数について、その数が2で割り切れる間割り続け、割り切れなくなったらその数を出力します。2で割り切れる場合は何もせず次の数に移ります。これにより、2の累乗でない数だけが出力されます。
上記のコードを実行した結果はこちら。1、2、4、8、16、32、64は2の累乗なので、これらの数は出力されません。それ以外の数は全て出力されます。
3 5 6 7 9 10 11 12 13 14 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
continue
文は、ループの中で特定の条件下で後続の処理をスキップし、次の繰り返しに進むための強力なツールです。ただし、その使用はコードの可読性と流れに影響を与えるため、注意深く使う必要があります。
Python:continue文を利用する際の注意点
Pythonのcontinue
文は便利ですが、注意すべき点がいくつかあります。
最後に、continue文を利用する際の注意点を2点解説します。
注意点1:可読性を低下させてしまう
continue
文はループの途中で次の繰り返しに飛ぶため、コードの流れを複雑にし、理解を困難にする可能性があります。
# 1から10までの整数で、偶数だけをスキップする for i in range(1, 11): if i % 2 == 0: continue print(i) print("ループ終了")
上記の場合はコメントが記載されていないため、一見すると何をしているかが少し分かりづらいかも。。。
繰り返し処理が長く複雑な場合、continue
文を使うと何が起こっているのか把握するのが難しくなることがあるため注意。これを解決するためには、可能な限りシンプルなコードを心がけ、コメントを適切に使うとGoodです。
# 1から50までの整数で、5の倍数だけをスキップする for i in range(1, 51): # 5の倍数を判定 if i % 5 == 0: # 5の倍数の場合、この回の処理をスキップ continue # 出力 print(i)
注意点2:ループ内のみで使用可能
ここまでの解説を読んだ方にとっては当たり前の事実かもしれませんが、念のため。
continue
文はループ内部(forループまたはwhileループ)でのみ有効です。これをループの外や関数内で使おうとするとエラーになります。continue
文の位置に注意し、必要に応じてインデントを調整することが重要です。
Python:continue文のまとめ
始めてPythonを勉強するのは結構難しいですよね。
でもその悩みを抱えているのは一人じゃありません。全てのPython使いが同じ道を進んできました。
Pythonをはじめとするプログラミングスキルを武器に、時間と場所に捉われない自由な生き方を目指してみませんか?今すぐ行動したい方は以下の記事をチェック!
読者料典 Python入門:学習カリキュラム ←こちらから!