Python3でループを操作するときに、Break、Continue、およびPassステートメントを使用する方法

提供:Dev Guides
移動先:案内検索

序章

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

ただし、外部要因がプログラムの実行方法に影響を与える場合があります。 これが発生した場合、プログラムでループを完全に終了するか、続行する前にループの一部をスキップするか、その外部要因を無視することができます。 これらのアクションは、breakcontinue、および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のbreakcontinue、およびpassステートメントを使用すると、コードでforループとwhileループをより効果的に使用できます。 。

breakおよびpassステートメントをさらに活用するには、プロジェクトチュートリアル「Python3およびTweepyライブラリを使用してTwitterbotを作成する方法」に従ってください。