Python

Python基礎:break文・continue文・pass文

スポンサーリンク

はじめに

繰り返し処理の中では条件によって、処理を変えたいことがありますね。今回はfor文やwhile文のような繰り返し処理の中で、ある条件がきたタイミングで処理をやめるbreak文や処理をスキップするbcontinue文について扱います。また、最後にpass文についても確認することにします。

break文

break文は一言でいうと、「for文やwhile文の繰り返し処理を終了させる」という処理をします。0から9までの数字を表示させる簡単なfor文の処理に対して、break文を追加して動作を確認してみましょう。

# 0から9までの数字を表示
for i in range(10):
    print(i)

これをある条件が来たときに、繰り返し処理をとめることを考えましょう。ここでは、iが5になったときに処理を止めることにします。

# 5になったら繰り返し処理をとめる
for i in range(10):
    if i==5:
        break
    print(i)

iが5になったときにbreakで繰り返し処理をとめます。そのため、i=5のときにはprint(i)は呼び出されないため、表示は0~4までとなります。

continue文

次に、continue文です。continue文は一言でいうと、「処理をスキップして次の処理を続ける」という処理をします。こちらも動作を確認した方が早いでしょう。

for i in range(10):
    if i==5:
        continue
    print(i)

5だけ表示がされていませんね。このように条件に合致(この場合はi=5)となった場合に、処理をスキップして(print(i)を呼び出さずに)次の処理(i=6)にすすみます。

pass文

pass文は何もしません。公式ドキュメントにも次のような説明があります。

pass はヌル操作 (null operation) です — pass が実行されても、何も起きません。 pass は、構文法的には文が必要だが、コードとしては何も実行したくない場合のプレースホルダとして有用です

https://docs.python.org/ja/3/reference/simple_stmts.html#pass

これも試してみるとわかりやすいですね。

for i in range(10):
    if i==5:
        pass
    print(i)

今度はすべてが表示されました。pass文は「何もしない」ので、処理を止めるわけでも、スキップするわけでもないので、そのまま処理が実行されます。

Pythonでは関数定義のdef文や条件分岐のif文などでは中身を省略することができないので、何も実行する必要がない場合はpass文を使います。

スポンサーリンク

まとめ

いかがでしょうか?基本的には順番に、処理をしてね、でも、こういう条件になったら作業をとめてください、あるいは、こういう条件になったらそのときは処理せずに、次の処理をしてください、ということですね。

コメント

タイトルとURLをコピーしました