Python3でループを操作するときに、Break、Continue、およびPassステートメントを使用する方法
序章
Pythonでforループとwhileループを使用すると、タスクを効率的に自動化して繰り返すことができます。
ただし、外部要因がプログラムの実行方法に影響を与える場合があります。 これが発生した場合、プログラムでループを完全に終了するか、続行する前にループの一部をスキップするか、その外部要因を無視することができます。 これらのアクションは、break
、continue
、およびpass
ステートメントを使用して実行できます。
前提条件
Python 3をインストールし、コンピューターまたはサーバーにプログラミング環境をセットアップする必要があります。 プログラミング環境をセットアップしていない場合は、ローカルプログラミング環境またはサーバー上のプログラミング環境のインストールおよびセットアップガイドを参照して、オペレーティングに適したものにすることができます。システム(Ubuntu、CentOS、Debianなど)
ブレークステートメント
Pythonでは、break
ステートメントは、外部条件がトリガーされたときにループを終了する機会を提供します。 break
ステートメントは、ループステートメントの下のコードブロック内に配置します。通常は、条件付きのif
ステートメントの後に配置します。
情報:このチュートリアルのサンプルコードに従うには、python3
コマンドを実行して、ローカルシステムでPythonインタラクティブシェルを開きます。 次に、>>>
プロンプトの後に例を追加して、例をコピー、貼り付け、または編集できます。
for
ループでbreak
ステートメントを使用する例を見てみましょう。
number = 0 for number in range(10): if number == 5: break # break here print('Number is ' + str(number)) print('Out of loop')
この小さなプログラムでは、変数number
は0で初期化されます。 次に、変数number
が10未満である限り、for
ステートメントがループを構築します。
for
ループ内には、if変数number
が整数5と同等であるという条件を示すif
ステートメントがあります。次にループが壊れます。
ループ内にはprint()
ステートメントもあり、break
ステートメントの後にあるため、ループが中断するまでfor
ループの各反復で実行されます。
ループから外れたことを知るために、for
ループの外側に最後のprint()
ステートメントを含めました。
このコードを実行すると、出力は次のようになります。
OutputNumber is 0 Number is 1 Number is 2 Number is 3 Number is 4 Out of loop
これは、整数number
が5と同等であると評価されると、プログラムがbreak
ステートメントでそうするように指示されているため、ループが中断することを示しています。
break
ステートメントにより、プログラムはループから抜け出します。
ステートメントを続ける
continue
ステートメントには、外部条件がトリガーされるループの部分をスキップして、残りのループを完了するオプションがあります。 つまり、ループの現在の反復は中断されますが、プログラムはループの先頭に戻ります。
continue
ステートメントは、通常は条件付きif
ステートメントの後に、ループステートメントの下のコードブロック内にあります。
上記のBreakステートメントセクションと同じfor
ループプログラムを使用して、break
ステートメントではなくcontinue
ステートメントを使用します。
number = 0 for number in range(10): if number == 5: continue # continue here print('Number is ' + str(number)) print('Out of loop')
break
ステートメントではなくcontinue
ステートメントを使用する場合の違いは、変数number
が5と同等であると評価された場合、中断があってもコードが続行されることです。 出力を確認しましょう:
OutputNumber is 0 Number is 1 Number is 2 Number is 3 Number is 4 Number is 6 Number is 7 Number is 8 Number is 9 Out of loop
ここでは、Number is 5
が出力に発生することはありませんが、ループはその後も続き、ループを終了する前に6〜10の数字の行を出力します。
continue
ステートメントを使用して、深くネストされた条件付きコードを回避したり、拒否したい頻繁に発生するケースを排除してループを最適化したりできます。
continue
ステートメントにより、プログラムはループ内で発生する特定の要因をスキップしますが、ループの残りの部分を続行します。
パスステートメント
外部条件がトリガーされると、pass
ステートメントを使用して、ループに影響を与えることなく条件を処理できます。 break
または他のステートメントが発生しない限り、すべてのコードが引き続き読み取られます。
他のステートメントと同様に、pass
ステートメントは、通常は条件付きif
ステートメントの後に、ループステートメントの下のコードブロック内にあります。
上記と同じコードブロックを使用して、break
またはcontinue
ステートメントをpass
ステートメントに置き換えましょう。
number = 0 for number in range(10): if number == 5: pass # pass here print('Number is ' + str(number)) print('Out of loop')
if
条件ステートメントの後に発生するpass
ステートメントは、プログラムにループの実行を継続し、変数number
が次のいずれかで5と同等と評価されるという事実を無視するように指示しています。その反復。
プログラムを実行し、出力を検討します。
OutputNumber is 0 Number is 1 Number is 2 Number is 3 Number is 4 Number is 5 Number is 6 Number is 7 Number is 8 Number is 9 Out of loop
このプログラムでpass
ステートメントを使用すると、プログラムに条件ステートメントがない場合とまったく同じようにプログラムが実行されることがわかります。 pass
ステートメントは、その条件を無視して、通常どおりプログラムを実行し続けるようにプログラムに指示します。
pass
ステートメントは、最小限のクラスを作成するか、新しいコードで作業し、詳細を打ち出す前にアルゴリズムレベルで考えるときにプレースホルダーとして機能します。
結論
Pythonのbreak
、continue
、およびpass
ステートメントを使用すると、コードでfor
ループとwhile
ループをより効果的に使用できます。 。
break
およびpass
ステートメントをさらに活用するには、プロジェクトチュートリアル「Python3およびTweepyライブラリを使用してTwitterbotを作成する方法」に従ってください。