【python】break文の使い方

python

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
...
...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

雇われのシステムエンジニアです。
普段は車載ECUのセキュリティー分野に従事しております。

コメント

コメントする

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約が適用されます。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次