Python | break を使わずに同じことを実現する方法(フラグ変数や関数の return を使う)

Python Python
スポンサーリンク

break は便利ですが、必ずしも使わなくても同じことを実現できます。ここでは フラグ変数関数の return を使った方法を比較してみましょう。


1. フラグ変数を使う方法

ループを最後まで回すけれど、「見つかったかどうか」をフラグで管理します。

numbers = [3, 7, 12, 18, 25]
target = 18
found = False  # フラグ変数

for n in numbers:
    if n == target:
        print("見つけた!")
        found = True
        # break は使わず、ループは最後まで回る

if not found:
    print("見つからなかった…")
Python
  • メリット: break を使わずに制御できるので、ループの流れが一貫している。
  • デメリット: 無駄に最後までループを回すため効率が悪い。コードが少し冗長になる。

2. 関数の return を使う方法

ループを関数にまとめて、見つかったら関数ごと終了します。

def search(numbers, target):
    for n in numbers:
        if n == target:
            print("見つけた!")
            return True  # 関数を終了
    print("見つからなかった…")
    return False

search([3, 7, 12, 18, 25], 18)
Python
  • メリット: 見つかった瞬間に関数ごと終了できるので効率的。
  • デメリット: 関数化が必要。処理が関数外に続く場合は工夫が必要。

3. break と比較

方法特徴メリットデメリット
breakループを即終了シンプル・効率的多用すると読みにくい
フラグ変数ループは最後まで回すbreak を使わずに済む無駄な処理が増える
return関数ごと終了効率的で明快関数化が必要

まとめ

  • 短い処理や探索: break が一番シンプル。
  • ループ後にまとめて処理したい: フラグ変数が便利。
  • 関数単位で早期終了したい: return が最適。

👉 実務では「読みやすさ」と「効率」のバランスで選びます。
例えば 検索アルゴリズムなら breakreturn がよく使われ、集計処理ならフラグ変数で最後まで回すこともあります。

Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました