はじめに
プログラムが「どの道を選ぶか」を決めるのが制御フロー。
これはまるでゲームの分岐シナリオのように、あなたのコードに“意思”を与える仕組みです。
Python の制御フローは、
「条件分岐」+「繰り返し」+「補助キーワード」
の3本柱で構成されています。
では順番に見ていきましょう。
1. 条件分岐:if / elif / else
Python の if はとても自然な文体で書けます。
次のように“真偽”で処理を分岐します。
x = 10
if x > 10:
print("10 より大きい")
elif x == 10:
print("ちょうど 10")
else:
print("10 より小さい")
ポイント
- Python は
{}の代わりに インデント でブロックを表す -
elifは何個でも OK -
elseは省略可能
「読みやすさ最優先」の Python らしい書き方です。
2. 繰り返し:while 文
while 条件: が真の間、ループが続きます。
count = 0
while count < 3:
print("カウント:", count)
count += 1
⚠️ 無限ループに注意
条件がずっと True だと永遠に終わりません。
3. 繰り返し:for 文
Python の for は「回数指定」ではなく
“対象を1つずつ取り出して処理” するタイプです。
リストを回す
for item in ["a", "b", "c"]:
print(item)
range とセットで使う
for i in range(5): # 0〜4
print(i)
ポイント
-
range(start, stop, step)で細かく指定可能 - Python の
forは「イテレータ」ベース
4. break / continue
ループの流れをカスタマイズするためのキーワード。
break → ループを抜ける
for i in range(10):
if i == 3:
break
print(i)
continue → 次の周へスキップ
for i in range(5):
if i == 2:
continue
print(i)
ロジックの最適化でめちゃくちゃ使うやつです。
5. for / while の “else”
Python 独自の珍しい仕様。
「ループが 正常に終わった時だけ 実行されるブロック」です。
for i in range(3):
print(i)
else:
print("break が無かったので実行される")
❗ ここが重要
-
breakがあると else は 実行されない - “毎回の else” ではなく “ループ終了時の else”
検索処理などで便利。
6. 条件式(三項演算子)
一行で if を書きたいとき。
age = 20
label = "成人" if age >= 18 else "未成年"
print(label)
短くスッキリ、Pythonic な書き方。
7. pass(何もしない)
“あとで書くよ” のための占位子。
def todo():
pass
書きかけの関数や class、条件分岐などに使えます。
8. 実戦例:リスト内に値があるか探す
Python の制御フローが全部入りの例。
nums = [4, 7, 1, 3, 9]
target = 3
found = False
for n in nums:
if n == target:
print("見つかった!")
found = True
break
else:
print("見つからなかった…")
使ったもの:
✔ for
✔ if
✔ break
✔ else
9. Pythonic:もっと短く書くなら
Python にはもっと優雅な書き方もあります。
nums = [4, 7, 1, 3, 9]
target = 3
print("見つかった!" if target in nums else "見つからなかった…")
まとめ
Python の制御フローは、直感的で読みやすく、かつ強力。
- if / elif / else(条件分岐)
- for / while(繰り返し)
- break / continue(制御)
- ループの else(Python 独自)
- 三項演算子
- pass
この6種類を覚えるだけで、
ほぼすべての Python のロジックが書けるようになります。