初心者がつまずきやすい3つのキーワード「continue / break / pass」を、テキスト図と例題で直感的に理解できるように整理します。
比較表(役割・動き・よく使う場面)
| キーワード | 役割 | ループでの動き | よく使う場面 |
|---|---|---|---|
| continue | その回の残り処理をスキップ | 次の繰り返しへ進む | フィルタリング、入力チェック |
| break | ループ自体を終了 | ループから即時脱出 | 探索の打ち切り、早期終了 |
| pass | 何もしない(空の処理) | そのまま次に進む | 後で書く場所の仮置き、空のブロック |
Sources: 直感的比較・一般的な使い分けの説明
テキスト図で動きを理解する
Continue の流れ(その回だけ飛ばす)
[ループ開始]
├─ 条件OK → この回の残り処理をスキップ
│ ↳ 次の回へ
└─ 条件NG → 残りの処理を続行
[ループ継続]
Break の流れ(ループを終わらせる)
[ループ開始]
├─ 条件OK → ループを即終了
│ ↳ ループの外へ
└─ 条件NG → 残りの処理を続行
[終了]
Pass の流れ(その場で何もしない)
[ループ開始 or if 等のブロック]
├─ 条件OK → 何もしない(pass)
│ ↳ 次の処理へ(継続)
└─ 条件NG → 普通に続行
[継続]
例題で感覚をつかむ
1. continue:不要なものは飛ばす(偶数だけ表示)
for i in range(1, 11):
if i % 2 == 1: # 奇数なら
continue # この回をスキップ
print(i) # 偶数だけ表示
Python- 結果: 2, 4, 6, 8, 10
- ポイント: 条件に合わないデータを「捨てて進む」フィルタリングに便利。
2. break:見つかったら終わり(最初の3の倍数で終了)
for i in range(1, 20):
if i % 3 == 0:
print("見つけた:", i)
break # 最初に見つかったところでループ終了
Python- 結果: 見つけた: 3
- ポイント: 条件達成後は処理を続ける意味がないときに最短で抜ける。
3. pass:あとで書く場所の仮置き(未実装の分岐)
for ch in "a1?Z":
if ch.isalpha():
# ここは後で実装する
pass
elif ch.isdigit():
print("数字:", ch)
else:
print("その他:", ch)
Python- 結果: 数字: 1 / その他: ?
- ポイント: 「構文的に何か書かないといけないけど、まだ処理を決めていない」ときの空文。
よくある落とし穴とコツ
- continueの落とし穴:
ループ変数の更新忘れに注意。 while ループで更新前に continue すると、無限ループの原因になります。
i = 0
while i < 5:
if i < 3:
i += 1 # 先に更新してからcontinueが安全
continue
print(i)
i += 1
Python- breakの落とし穴:
ネストしたループでは「内側のループしか抜けない」。 外側も止めたいなら、フラグや関数化してreturnで抜けるなどの工夫が必要。
for r in range(3):
for c in range(3):
if r == 1 and c == 1:
print("内側をbreak")
break
print("外側は続く:", r)
Python- passの誤解:
「何か特別なことをする」命令ではない。 本当に何もしません。ログやTODOコメントを残して、後で必ず実装しましょう。
if condition:
pass # TODO: 実装する(期限: 12/10)
Python使い分けの指針(短い実務ヒント)
- フィルタしたい: continue
例)「空文字」「不正値」を飛ばす、対象外データをスキップ - 早く抜けたい: break
例)「最初に見つかった一致」「タイムアウト条件」などで打ち切り - まだ書かない: pass
例)プロトタイプ段階、条件分岐の形だけ作っておく
覚え方:
- continue: この回は「続けるために飛ばす」
- break: ここで「壊して終わる」
- pass: とりあえず「通過するだけ」


