1. はじめに
Pythonでループ処理や関数を扱っていると、break
やreturn
といった制御構文に出会います。一見似たように見えるこれらの構文ですが、使い方や目的がまったく異なります。
この記事では、「Python|breakとreturnの違いと使い分け」をテーマに、それぞれの動作の違いを具体的なコードと実行結果を交えて丁寧に解説します。Python初心者〜中級者の方が、「いつ、どちらを使うべきか」がしっかりと理解できる内容になっています。
2. Pythonにおけるbreakとreturnの基本解説
2-1. break文の基本:ループを途中で抜ける
break
は、for文やwhile文などのループ処理を途中で終了するための構文です。ループの条件に関係なく、break
が実行されるとその時点でループを抜けます。
for i in range(10):
print(i)
if i == 5:
break # iが5になった時点でループ終了
実行結果:
0
1
2
3
4
5
2-2. return文の基本:関数の処理を終了し値を返す
return
は関数の中で使い、処理を終了させて値を返すための構文です。ループ処理とは異なり、関数自体を終了させるという点が大きな違いです。
def add(a, b):
return a + b # 計算結果を返して関数終了
result = add(3, 4)
print(result)
実行結果:
7
3. breakとreturnのよくある使い方・応用例
3-1. breakの使用例:条件一致でループ終了
以下は、リストから特定の値を探して最初に見つかった時点で処理を終了する例です。
numbers = [3, 8, 12, 5, 7]
for n in numbers:
if n == 5:
print("5が見つかりました")
break
print(f"{n}は5ではありません")
実行結果:
3は5ではありません
8は5ではありません
12は5ではありません
5が見つかりました
3-2. returnの使用例:検索して見つかったら即返す
次の例では、名前リストから指定された名前が見つかればTrue
を、見つからなければFalse
を返す関数を定義しています。
def find_name(name_list, target):
for name in name_list:
if name == target:
return True # 見つかったので関数終了
return False # 見つからなかったのでFalseを返す
names = ["Alice", "Bob", "Charlie"]
print(find_name(names, "Bob"))
print(find_name(names, "David"))
実行結果:
True
False
4. Python初心者がbreakとreturnでつまずくポイントと注意点
4-1. breakを関数内で使うときの注意
break
はあくまでループを抜けるだけであり、関数そのものを終了させるわけではありません。たとえば以下のコードでは、break
のあとも関数の後続処理は実行されます。
def demo():
for i in range(5):
if i == 2:
break
print("ループは抜けましたが、関数は続きます")
demo()
実行結果:
ループは抜けましたが、関数は続きます
4-2. returnをループ内で使うとループが途中終了する
関数の中でreturn
をループ内に書いた場合、returnが呼ばれた時点で関数そのものが終了します。ループも関数も同時に終了してしまうため、想定外の動作になる可能性があります。
def count_until_3():
for i in range(5):
if i == 3:
return # 3になったら関数終了
print(i)
count_until_3()
実行結果:
0
1
2
補足: ループだけを終了させたいなら break
を、関数全体を終了させたいなら return
を使うのが正解です。
5. まとめ
break
はループを途中で抜けるための構文。return
は関数を終了させて値を返すための構文。- 使う場所と目的がまったく異なるため、状況に応じた使い分けが必要。
- 初心者はループ内で
return
を使って意図せず関数終了してしまうミスに注意。
このように、「breakとreturnの違い」をしっかり理解することで、関数やループの流れを自在にコントロールできるようになります。実務でも、検索処理・条件分岐・エラーハンドリングなど多くの場面で使われる基本中の基本なので、しっかりと身につけておきましょう。