Python break 文
breakbreak は Python でループを即座に終了するためのキーワードです。
プログラムが実行されると、breakすると、現在のループ構造(for でも while でも)から即座に抜け出し、ループ内の残りのコードは実行されません。
単語の意味: break「打破、中断」という意味で、ループを終了するために使われます。
基本構文とパラメータ
breakは独立した文であり、パラメータは必要ありません。
構文形式
while 条件:
if 退出条件:
break
# 其他代码
使用シーン
- 早期終了:特定の条件を満たすと、すぐにループを終了します。
- 検索の終了:目標が見つかったら検索を終了します。
- 無限ループの終了:while True と組み合わせて、break によって終了します。
例
例 1: for ループで使用
例
# リスト内で最初の偶数を探す
numbers = [1, 3, 5, 6, 7, 8, 9]
for num in numbers:
if num % 2 == 0:
print(f"最初の偶数を見つけました: {num}")
break
print("検索終了")
numbers = [1, 3, 5, 6, 7, 8, 9]
for num in numbers:
if num % 2 == 0:
print(f"最初の偶数を見つけました: {num}")
break
print("検索終了")
期待される実行結果:
找到第一个偶数: 6 搜索结束
コード解析:
- リストを走査し、最初の偶数を見つけたらすぐに終了します。
- 後続の要素の走査は続行されません。
例 2: while ループで使用
例
# 100 を超えるまで累積する
total = 0
i = 1
while True:
total += i
if total > 100:
print(f"i = {i} のとき、合計が初めて 100 を超えました")
break
i += 1
print(f"合計: {total}") # 出力: 合計: 105
total = 0
i = 1
while True:
total += i
if total > 100:
print(f"i = {i} のとき、合計が初めて 100 を超えました")
break
i += 1
print(f"合計: {total}") # 出力: 合計: 105
期待される実行結果:
合計が 100 を超えたら、すぐにループを終了します。
例 3: ネストされたループ内の break
例
# ネストされたループ: break は内側のループのみを終了する
for i in range(1, 4):
for j in range(1, 4):
if i == 2 and j == 2:
break # 内側のループのみを終了
print(f"({i}, {j})", end=" ")
print() # 改行
for i in range(1, 4):
for j in range(1, 4):
if i == 2 and j == 2:
break # 内側のループのみを終了
print(f"({i}, {j})", end=" ")
print() # 改行
期待される実行結果:
(1, 1) (1, 2) (1, 3) (2, 1) (2, 3) (3, 1) (3, 2) (3, 3)
コード解析:
- break は、それを含む最も内側のループのみを終了します。
- 外側のループは続行されます。
例 4: else と組み合わせて使用
例
# break により else は実行されない
for i in range(5):
if i == 3:
print("目標が見つかったため、早期終了")
break
print(i)
else:
print(ループは正常終了し、目標は見つかりませんでした)
print("---")
# 正常終了 (break なし)
for i in range(5):
print(i)
else:
print("ループは正常終了し、else が実行されます")
for i in range(5):
if i == 3:
print("目標が見つかったため、早期終了")
break
print(i)
else:
print(ループは正常終了し、目標は見つかりませんでした)
print("---")
# 正常終了 (break なし)
for i in range(5):
print(i)
else:
print("ループは正常終了し、else が実行されます")
期待される実行結果:
0 1 2 找到目标,提前退出 --- 0 1 2 3 4 循环正常结束,else 执行
for-else や while-else 構造では、break により else は実行されません。
その他の拡張
Python3 ループ文