6-5. Pythonのbreakとcontinueとpass


1. Pythonのbreak文

ループ処理の中で、処理を中断してループを抜ける時にbreak文を使います。
break と書くだけでfor文を抜けられます。

例えば、リストの中である数値が見つかったらループを抜ける場合は、以下のように、for文にbreakを使います。

x_list = [1, 3, 9, 10, 0, 19, 24]

for x in x_list:
    if x == 0: # 0ならループを抜ける
        break
    print(x)

>> 1 
>> 3 
>> 9 
>> 10 

また、ネスト(入れ子構造)のfor文・while文でbreakを使うと、breakが書かれたfor・whileだけ抜けます。

例えば、以下のようなfor文が2つネストしていて、内側のfor文の処理の中でbreakが書かれている場合、breakが実施されても外側のfor文は抜けず、ループは続きます。

for i in range(2):
    for j in ['a', 'b', 'c', 'd', 'e']:
        if j == 'd':
            break
        print(i, j)


>> 0 a
>> 0 b
>> 0 c
>> 1 a
>> 1 b
>> 1 c

2. Pythonのcontinue文

continue文は、ループ処理の途中で、後続の処理は実行せずに、次のループ処理を実施したい時に使います。

例えば、0~10の値のループで、偶数の場合は後続の処理を行わずに、次の値でループ処理を実施したい場合、以下のように書きます。

for x in range(11):
    if x%2 == 0:
        continue # 次の値のループへ
    print(x, '偶数ではありません。')

>> 1 偶数ではありません。 
>> 3 偶数ではありません。 
>> 5 偶数ではありません。 
>> 7 偶数ではありません。 
>> 9 偶数ではありません。


ネスとしたfor文・while文では、break文と同じように、該当のループ処理だけcontinueの処理がされます。


3. Pythonのpass文

処理を何もしない場合は、pass文を使います。

一般的には、あえて何もしない処理を定義したり、あとでコードを書くけれども今は何も書かない状態にしたいが、エラーにはしたくない場合などに使います。

pass文は以下のように書きます。以下のコードでpassがないと構文エラーでスクリプトは動きません。

for x in range(100):
    # あとで処理を書く
    pass

4. Python公式ドキュメント


このエントリーをはてなブックマークに追加