PR

【Python】continue文の使い方を3分でわかりやすく解説

Python

Pythoncontinue文はループ(forループまたはwhileループ)内で使用され、その文が実行されると現在のループ(イテレーション)をすぐに終了し、次のループに移行します。

continue文は、現在のループの反復をスキップして次に進む必要がある場合に有用です。

参考 forループ / whileループ

イテレーションは、ある処理が繰り返し実行される各ステップや周回を指します。より具体的に言うと、forループやwhileループなどのループ処理において、ループが一周することをイテレーションと呼びます。例えば、10回ループを回すとすれば、それは10回のイテレーション(繰り返し)を行うということになります。

このページでは、Pythonにおけるcontinue文の使い方や注意点をサンプルコード付きで初心者向けにわかりやすく解説します。

このページで学べる内容
  • continue文の基本・使い方
  • forループとcontinue文 / whileループとcontinue文
  • continue文を利用する際の注意点

Pythonエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識の1つです。是非最後までご覧ください。

参考 Pythonの基本的な書き方・構文ルール

スポンサーリンク

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)

参考 リスト / print関数

このコードは、リスト内の各文字列に対して、'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文のまとめ

continue文のまとめ
  • continue文はPythonの制御フロー文の一つ
  • ループ(forやwhile)内で使われる
  • 実行されると現在のループの繰り返しを中断し次の繰り返しに直ちに移行する
  • 一部の処理をスキップしたいときに有効だが、適切に使わないとコードの流れを複雑にし理解を困難にする可能性あり
# 0から19までの数字をループする
for i in range(20):
    # もし数字が10未満なら、
    if i < 10:
        # このループをスキップして次に進む
        continue
    # 数字を出力
    print(i)
# 結果: 10から19までの数字が出力される

始めてPythonを勉強するのは結構難しいですよね。

でもその悩みを抱えているのは一人じゃありません。全てのPython使いが同じ道を進んできました。

Pythonをはじめとするプログラミングスキルを武器に、時間と場所に捉われない自由な生き方を目指してみませんか?今すぐ行動したい方は以下の記事をチェック!

読者料典 Python入門:学習カリキュラム ←こちらから!

このWebサイトは現役のエンジニアが以下3点を目的として運営しています。

  1. 勉強:一度理解した内容を忘れないように。
    → アウトプットは「最強のインプット」である! 
  2. 備忘:忘れたとしても後から見返せるように。
    → 未来の自分への「お手紙」を書いています。 
  3. 共有:〇〇ってこうだったんだ!の感動をシェアできるように。
    → あなたの知識は誰かにとっての「価値ある情報」です。 

副業ブログの始め方はこちらから

スポンサーリンク
Python
シェアする
ビズドットオンラインをフォローする
タイトルとURLをコピーしました