Articles

How To Use Break, Continue, and Pass Statements when Working with Loops in Python 3

Posted on

Introduction

Pythonでforループやwhileループを使用すると、効率的な方法でタスクを自動化したり繰り返したりすることができます。

しかし、時には外部要因がプログラムの実行方法に影響を与えることがあります。 このような場合、プログラムがループを完全に終了したり、ループの一部をスキップしてから続行したり、その外部要因を無視したりしたいことがあります。 これらの動作は、breakcontinuepassの各ステートメントで行うことができます。

Breakステートメント

Pythonでは、breakbreakifステートメントの後に記述します。

breakfor ループの中で使用する例を見てみましょう:

number = 0for number in range(10): if number == 5: break # break here print('Number is ' + str(number))print('Out of loop')

この小さなプログラムでは、変数 numberfornumberが10未満である限り、ループを構築します。

fornumberif文があります。

ループ内には print()forbreak ステートメントの後にあるので、ループが切れるまで実行されます。

ループから抜け出したことを知るために、最後の print()for ループの外に置いています。

このコードを実行すると、次のような出力が得られます。

Output
Number is 0Number is 1Number is 2Number is 3Number is 4Out of loop

これは、整数 numberbreak ステートメントでそうするようにプログラムが指示されているため、ループが解除されることを示しています。

break ステートメントは、プログラムがループから抜け出す原因となります。

Continue ステートメント

continue ステートメントは、外部条件がトリガーされたループの部分をスキップして、ループの残りの部分を完了するために進むオプションを提供します。 つまり、ループの現在の繰り返しは中断されますが、プログラムはループの先頭に戻ります。

continue ステートメントは、loop ステートメントの下のコード ブロック内にあり、通常は、条件付きの if ステートメントの後にあります。

上記の Break Statement のセクションと同じ forcontinuebreak ステートメントを使用します。

number = 0for number in range(10): if number == 5: continue # continue here print('Number is ' + str(number))print('Out of loop')

breakcontinuenumber が 5 と同等と評価されたときの混乱にもかかわらず、コードが継続されることです。 出力を見てみましょう。

Output
Number is 0Number is 1Number is 2Number is 3Number is 4Number is 6Number is 7Number is 8Number is 9Out of loop

ここでは、Number is 5が出力されることはありませんが、ループはその後も続き、6~10の数字の行を印刷してからループを抜けます。

continue ステートメントを使用すると、深くネストされた条件コードを回避したり、頻繁に発生するケースを排除してループを最適化したりすることができます。

continue ステートメントは、ループ内で発生する特定の要因をスキップして、ループの残りの部分を続行するプログラムを作成します。

Pass ステートメント

外部条件が発生した場合、passbreakや他のステートメントが発生しない限り、すべてのコードが読み続けられます。

他のステートメントと同様に、passif ステートメントの後にあります。

上記と同じコードブロックを使用して、breakcontinuepass文で置き換えてみましょう。

number = 0for number in range(10): if number == 5: pass # pass here print('Number is ' + str(number))print('Out of loop')

passifnumbernumber が反復の間に 5 と同等と評価されたことを無視するようにプログラムに指示しています。

プログラムを実行して、出力を考えてみましょう。

Output
Number is 0Number is 1Number is 2Number is 3Number is 4Number is 5Number is 6Number is 7Number is 8Number is 9Out of loop

このプログラムで pass ステートメントを使用すると、プログラムに条件文がない場合とまったく同じようにプログラムが実行されることがわかります。

pass ステートメントは、その条件を無視して、通常どおりにプログラムを実行するようにプログラムに指示します。

pass ステートメントは、最小限のクラスを作成したり、新しいコードに取り組んでいるときに、詳細を詰める前にアルゴリズム レベルで考える際のプレースホルダとして機能します。

結論

breakcontinue

Pythonのpassforwhileループをより効果的に使えるようになります。

breakpassのステートメントをもっと活用するには、プロジェクトチュートリアル「How To Create a Twitterbot with Python 3 and the Tweepy Library」をご覧ください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です