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

前書き

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

ただし、外部要因がプログラムの実行方法に影響する場合があります。 この場合、プログラムでループを完全に終了するか、ループの一部をスキップしてから続行するか、その外部要因を無視することができます。 これらのアクションは、breakcontinue、およびpassステートメントを使用して実行できます。

ブレイクステートメント

Pythonでは、breakステートメントは、外部条件がトリガーされたときにループを終了する機会を提供します。 breakステートメントは、ループステートメントの下のコードブロック内に配置します。通常は、条件付きのifステートメントの後に配置します。

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、thenと同等であるという条件を表すifステートメントがあります。ブレーク。

ループ内には、breakステートメントの後にあるため、ループが中断するまでforループの各反復で実行されるprint()ステートメントもあります。

ループから外れたことを知るために、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 Statementセクションと同じ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がその反復の1つで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ステートメントをさらに操作するには、プロジェクトチュートリアル「https://www.digitalocean.com/community/tutorials/how-to-create-a-twitterbot-with- python-3-and-the-tweepy-library [Python3とTweepyライブラリを使用してTwitterbotを作成する方法]。」