python公式ドキュメントはこちら
while 文や for 文の繰り返し処理の中で break 文を使用すると繰り替えし処理の強制終了を行うことができます。
目次
break文の書式
while True:
処理1
処理2
if sample_num == 0:
break
処理3
処理4
...
...
基本的な使い方
while 文や for 文のブロックの中で break 文が実行されると繰り返し処理が強制的に終了して次の文へ処理が移ります。
while 文の場合
sample_num = 1
while True:
print("num = " + str(sample_num))
sample_num += 1
# 10より大きい場合(11の場合)
if sample_num > 10:
# break文でwhile文が強制終了
break
# num = 1
# num = 2
# num = 3
# num = 4
# num = 5
# num = 6
# num = 7
# num = 8
# num = 9
# num = 10
for 文の場合
sample_lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in sample_lst:
print("num = " + str(i))
# 6より大きい場合(7の場合)
if i > 6:
# break文でfor文が強制終了
break
# num = 0
# num = 1
# num = 2
# num = 3
# num = 4
# num = 5
# num = 6
# num = 7
多重ループでのbreak文の注意点
多重ループの内側のループでbreak
した場合、内側のループから抜け出すのみで、外側のループ処理は続行されます。
以下の処理内では、numが2 かつ fruitが’banana’の場合、内側の[for fruit in sample_fruit_lst:]が終了し、再度外側のfor文の処理を実行します。
sample_num_lst = [0, 1, 2, 3, 4, 5]
sample_fruit_lst = ['apple', 'banana', 'lemon', 'grape']
# sample_num_lstの0~5まで順番に変数numに設定される
for num in sample_num_lst:
# sample_fruit_lstの'apple'から'grape'まで順番に変数fruitに設定される
for fruit in sample_fruit_lst:
# numが2 かつ fruitが'banana'の場合
if num == 2 and fruit == 'banana':
print('BREAK')
# [for fruit in sample_fruit_lst:]のfor文が終了する
break
print("num = " + str(num) + ", fruit = " + str(fruit))
# num = 0, fruit = apple
# num = 0, fruit = banana
# num = 0, fruit = lemon
# num = 0, fruit = grape
# num = 1, fruit = apple
# num = 1, fruit = banana
# num = 1, fruit = lemon
# num = 1, fruit = grape
# num = 2, fruit = apple
# BREAK
# num = 3, fruit = apple
# num = 3, fruit = banana
# num = 3, fruit = lemon
# num = 3, fruit = grape
# num = 4, fruit = apple
# num = 4, fruit = banana
# num = 4, fruit = lemon
# num = 4, fruit = grape
# num = 5, fruit = apple
# num = 5, fruit = banana
# num = 5, fruit = lemon
# num = 5, fruit = grape
出力を見てみると’num = 2, fruit = banana’が出力されず、それ以降のfruit(‘banana’, ‘lemon’, ‘grape’)が出力されないまま次の処理であるnum = 3,の処理を実行しているのがわかります。
...
...
# num = 2, fruit = apple
# BREAK
# num = 3, fruit = apple
# num = 3, fruit = banana
...
...
コメント