Pythonのcontinueを初心者向けに解説!基本からループ制御まで

この記事のポイント

この記事では、以下の内容を解説します。continue文の基本的な使い方から実践的な活用法まで学ぶことができます。

  • continue文を用いてループ内で特定の処理をスキップし、次の繰り返しに進む制御文が書ける
  • forループとwhileループの両方でcontinue文を使用でき、条件に応じた柔軟な処理制御ができる
  • break文やpass文との違いを理解することで、適切な場面での使い分けができる

目次

Pythonのcontinue文とは?意味と基本的な役割を解説

Pythonのcontinue文とは、ループ処理において特定の条件の時だけ、残りの処理をスキップして次の繰り返しに進むための命令です。プログラムの流れを効率的に制御できる重要な機能で、データの前処理など、条件に合わない要素を除外したい場合に役立ちます。ここでは、continue文の基本的な概念から実際のコード例まで、初心者の方にも分かりやすく解説していきます。

【関連】
Pythonをもっと詳しく学ぶならpaizaラーニング

continue文の基本的な意味と役割

continue文は、ループの中で残りの処理をスキップして、次のループに進む命令です。この命令が実行されると、continue文より下にある処理は飛ばされて次の繰り返し(ループの先頭)に移ります。これにより、特定の条件を満たす場合にだけ処理を飛ばすことができ、効率的で読みやすいプログラムになります。

例えば、たくさんのデータの中から特定の値だけを除外して処理したい、といった場合でよく使われます。continue文は必ずfor文while文などのループ内で使う必要があります。

for i in range(5): if i == 2: continue print(f"数字: {i}")

出力結果

数字: 0
数字: 1
数字: 3
数字: 4

簡単なコード例で学ぶcontinue文

continue文の動きをより具体的に理解するために、動物の名前のリストを使った例を見てみましょう。

下の例では、リストに含まれる特定の動物だけをスキップし、残りの動物名だけを表示します。continue文を使うことで、if-else文を組み合わせるような複雑な条件分岐を使わずに、簡潔にスキップ処理を実現できます。

初心者の方は、まずこのような単純な例でcontinue文がどのような動きをするかを理解することが大切です。プログラムを実際に実行して、期待通りの出力になるか確認してみてください。

animals = ["イヌ", "ネコ", "ウサギ", "ハムスター", "インコ"] for animal in animals: if animal == "ウサギ": continue print(f"動物: {animal}")

出力結果

動物: イヌ
動物: ネコ
動物: ハムスター
動物: インコ

continue文とループ構造(for・while)との関係

continue文は、Pythonの主要なループ構造であるfor文とwhile文でよく利用され、それぞれ異なる特徴と使用場面があります。

for文ではリストや文字列などの各要素を順番に処理する際、特定の要素だけをスキップしたい場合に便利です。

一方、while文では条件が満たされる限り繰り返す処理において、特定の条件で現在の反復を中断する場合に使われます。

どちらのループでも基本的な動作は同じですが、ループの性質によって使い方に微妙な違いがあります。ここでは、それぞれのループでのcontinue文の具体的な使用方法を詳しく解説していきます。

forループでのcontinueの使い方

for文でのcontinue文は、リストやrange関数などで生成される要素を順次処理する際に、特定の条件に合う要素をスキップするために使用されます。

for文はあらかじめ決められた回数だけ繰り返すため、continue文を使ってもループ全体の繰り返し回数は変わりません。例えば、数値のリストから偶数だけを除外したい場合や、特定のキーワードを含むデータだけをスキップしたい場合に便利です。

for文の中でcontinue文が実行されると、現在の要素に対する処理が終了し、ループは次の要素の処理へと移ります。この特性を理解することで、効率的なデータ処理を実装できます。

numbers = [1, 2, 3, 4, 5, 6] for num in numbers: if num % 2 == 0: # 偶数の場合 continue print(f"奇数: {num}")

出力結果

奇数: 1
奇数: 3
奇数: 5

whileループでのcontinueの使い方

while文におけるcontinue文は、条件が成り立つ限り繰り返し実行される処理において、特定の状況で処理をスキップするために使用されます。

例えば、カウンタを使った処理で特定の数値だけを飛ばしたい場合などに活用できます。while文とcontinue文を組み合わせることで、より複雑な条件に基づいたループ処理が実現できます。

while文ではループの継続条件を自分で制御するため、continue文を使う際はループ変数の更新タイミングに注意が必要です。もしcontinue文の前にループ変数を更新しないと、ループの条件が常に満たされ、無限ループになる可能性があります。

count = 0 while count < 5: count += 1 if count == 3: continue print(f"カウント: {count}")

出力結果

カウント: 1
カウント: 2
カウント: 4
カウント: 5

continue文とbreak文・pass文の違い

Pythonには、continue文のほかに、ループ制御に使われるbreak文やpass文といったものがあります。これらはそれぞれ異なる役割を持つため、その違いを正しく理解することで、状況に応じて最適な制御文を選択できます。

continue文は現在のループ1回分をスキップして次のループに進む、break文はループ全体を完全に終了する、pass文は何も実行せずに処理を続けるという特徴があります。実際のコード例を通じて、これらの動作の違いを詳しく見ていきましょう。

break文との違い

break文とcontinue文の最も大きな違いは、ループに対する影響の範囲です。

continue文は現在の繰り返し処理だけをスキップして、ループ全体は継続される一方、break文はループ全体を完全に終了させ、ループの外に処理が移ります。

例えば、リストの中から特定の値を見つけたら処理を完全に終了したい場合はbreak文を使い、特定の値だけを除外して残りの処理を続けたい場合はcontinue文を使います。それぞれの違いを理解することで、目的に合った効率的なプログラムが書けるようになります。

# continue文の例 print("continue文の例:") for animal in ["イヌ", "ネコ", "ウサギ", "ハムスター"]: if animal == "ウサギ": continue print(animal) # break文の例 print("break文の例:") for animal in ["イヌ", "ネコ", "ウサギ", "ハムスター"]: if animal == "ウサギ": break print(animal)

出力結果

continue文の例:
イヌ
ネコ
ハムスター
break文の例:
イヌ
ネコ

pass文との違い

pass文とcontinue文は、どちらも条件分岐やループの中で使用されますが、その動作は大きく異なります。

pass文は「何も実行しない」ことを明示的に示すための文であり、そのまま処理を続行するため、ループの流れには影響しません。一方、continue文はその時点で残りの処理をスキップし、次の繰り返しに進みます。

pass文は主にコードの構造を保つために使用され、まだ実装していない部分の空ブロックを作成する際に役立ちます。continue文は特定の条件で処理をスキップするための制御文です。この違いを理解することで、コードの意図を明確に表現できます。

# pass文の例 print("pass文の例:") for animal in ["イヌ", "ネコ", "ウサギ"]: if animal == "ネコ": pass # 何もしない print(f"動物: {animal}") # continue文の例 print("continue文の例:") for animal in ["イヌ", "ネコ", "ウサギ"]: if animal == "ネコ": continue # スキップ print(f"動物: {animal}")

出力結果

pass文の例:
動物: イヌ
動物: ネコ
動物: ウサギ
continue文の例:
動物: イヌ
動物: ウサギ

if文や多重ループでのcontinue活用法

continue文の真価は、if文と組み合わせた条件制御や、多重ループにおける複雑な処理において発揮されます。単一のループだけでなく、複数の条件を組み合わせたり、入れ子になったループ構造の中で適切に使うことで、プログラムをより細かく制御できます。

実際の開発現場では、このような応用的な使い方が頻繁に登場します。ここでは、continue文と条件分岐と組み合わせた使い方や、多重ループにおけるcontinue文の動作について、具体例を交えながら解説します。これらのテクニックをを身に付けることで、プログラミングの表現力が大幅に向上するでしょう。

if文と組み合わせた条件付きスキップ

if文とcontinue文を組み合わせると、複雑な条件に応じてループ処理のスキップが可能になります。複数の条件をandやorといった論理演算子で組み合わせたり、if文がネスト(入れ子)になった構造の中でcontinue文を使用することで、きめ細かい制御ができます。

例えば、データの検証処理で、複数の条件のいずれかに該当するデータをスキップしたい場合や、特定の範囲から外れた要素を除外する場合に有効です。この手法により、複雑な条件でも読みやすく効率的な処理が書けます。条件の組み合わせ方を工夫することで、さまざまな業務要件にも対応できます。

animals = ["イヌ", "ネコ", "ウサギ", "ゾウ", "ライオン"] for animal in animals: # 3文字以上または「ゾ」で始まる動物をスキップ if len(animal) >= 3 or animal.startswith("ゾ"): continue print(f"表示する動物: {animal}")

出力結果

表示する動物: イヌ
表示する動物: ネコ

多重ループでのcontinueの動き方

多重ループ(入れ子になったループ)でcontinue文を使用する場合、continue文はそれが記述されている最も内側のループに限定されます。つまり、内側のループでcontinue文を使用しても、内側のループをスキップするだけで外側のループには影響しません。この特性を理解することは、複雑なデータ処理を行う際に重要です。

例えば、二次元のデータ構造を処理する際に、特定の要素だけをスキップしたい場合に役立ちます。多重ループでのcontinue文の動作を正確に把握することで、論理的でバグの少ない効率的なコードを実装しましょう。

pet_groups = [["イヌ", "ネコ"], ["ウサギ", "ハムスター"], ["インコ", "カメ"]] for group_num, pets in enumerate(pet_groups, 1): print(f"グループ {group_num}:") for pet in pets: if pet == "ハムスター": continue print(f" {pet}")

出力結果

グループ 1:
  イヌ
  ネコ
グループ 2:
  ウサギ
グループ 3:
  インコ
  カメ

よくある質問(Q&A)

Q: continue文はどんな時に使う? 

A: 特定の条件に合致した場合のみその要素の処理だけをスキップして、ループを継続したい時に使用します。例えば、リストから不要なデータを除外して処理する場合や、エラーが発生しそうなデータを事前に回避して、残りの有効なデータを処理したい場合に有効です。

numbers = [1, 0, 3, 0, 5] for num in numbers: if num == 0: continue print(f"結果: {10 / num}")

出力結果

結果: 10.0
結果: 3.3333333333333335
結果: 2.0

Q: continue文とbreak文はどう使い分ける? 

A: continue文は現在の繰り返しだけをスキップして、ループの次の反復に進みたい時に、break文はループ全体を完全に終了したい時に使用します。continue文は不要なデータを取り除くフィルタリング、break文は特定の要素を見つけたらすぐ処理を終えたい検索処理でよく使われます。

Q: while文でcontinue文を使う時の注意点は? 

A: while文では、continue文の前に必ずループ変数を更新する必要があります。更新を忘れたり、更新タイミングを間違えると条件がずっとTrueとなり、無限ループになってしまいます。

i = 0 while i < 3: i += 1 # 必ず更新 if i == 2: continue print(i)

出力結果

1
3

Q: 多重ループでcontinue文はどう動く? 

A: continue文は、それが書かれているループにのみ影響します。多重ループの場合、内側のループのcontinue文は外側のループには影響せずに継続されるように、各ループごとに独立して動作します。

Q: continue文を使わずに同じ処理はできる? 

A: continue文を使わずに、if文とelse文を使って同じ処理を実装できます。ただし、continue文を使う方がコードがシンプルで読みやすくなることが多いです。

# continue文なし for animal in ["イヌ", "ネコ", "ウサギ"]: if animal != "ネコ": print(animal) # continue文あり for animal in ["イヌ", "ネコ", "ウサギ"]: if animal == "ネコ": continue print(animal)

出力結果

イヌ
ウサギ
イヌ
ウサギ

まとめ

Pythonのcontinue文は、ループ処理において特定の条件で処理をスキップする際に使用される重要な制御文です。この記事では、continue文の基本的な概念から実践的な活用法まで詳しく解説しました。

ポイント

  • continue文はループ内で現在の繰り返し処理をスキップする制御文
  • forループとwhileループの両方で使用可能だが、それぞれの使い方に注意が必要
  • break文はループを完全終了、pass文は何もしない、continue文はその反復だけスキップする
  • continue文とif文との組み合わせで複雑な条件制御が実現できる
  • 多重ループでは記述されたループにのみ影響し、外側のループには影響しない

continue文を使用すると複雑な条件分岐をより簡潔に表現できるので、コードの可読性と保守性が向上します。特に、データの前処理やフィルタリング処理において威力を発揮し、効率的にエラーの回避や不要なデータの除外ができます。

forループとwhileループでの動作の違いや、break文・pass文との使い分けを理解することで、より適切な制御文の選択が可能になります。さらに、if文との組み合わせや多重ループでの動作を把握することで、複雑なデータ処理にも対応できる応用力が身に付きます。

continue文は一見すると単純な機能に見えますが、プログラミングの基礎として非常に重要な制御文です。実際にコードを書いて動作を確認しながら、その特性を体感的に理解していくことが大切です。さまざまな場面でcontinue文を活用することで、より効率的で読みやすいPythonコードが作成できるようになるでしょう。

プログラミングを学ぶなら、実践的な演習問題を通じて知識を定着させることができるpaizaラーニングがおすすめです。動画講義とコーディング練習を組み合わせた学習スタイルで、continue文をはじめとするPythonの基礎文法を効率的に身に付けることができます。

レベルを更に上げたい方はpaizaプログラミングスキルチェックへ

  1. paizaラーニングトップ
  2. ナレッジ
  3. Pythonのナレッジ記事一覧
  4. Pythonのcontinueを初心者向けに解説!基本からループ制御まで