Verwendung von Break-, Continue- und Pass-Anweisungen beim Arbeiten mit Loops in Python 3

Einführung

Mitfor loops undwhile loops in Python können Sie Aufgaben effizient automatisieren und wiederholen.

Manchmal kann jedoch ein externer Faktor die Ausführung Ihres Programms beeinflussen. In diesem Fall möchten Sie möglicherweise, dass Ihr Programm eine Schleife vollständig verlässt, einen Teil einer Schleife überspringt, bevor Sie fortfahren, oder diesen externen Faktor ignoriert. Sie können diese Aktionen mit den Anweisungenbreak,continue undpassausführen.

Break-Anweisung

In Python bietet Ihnen die Anweisungbreakdie Möglichkeit, eine Schleife zu verlassen, wenn eine externe Bedingung ausgelöst wird. Sie werden die Anweisungbreak in den Codeblock unter Ihrer Schleifenanweisung einfügen, normalerweise nach einer bedingten Anweisungif.

Schauen wir uns ein Beispiel an, das die Anweisungbreakin einer Schleife vonforverwendet:

number = 0

for number in range(10):
    if number == 5:
        break    # break here

    print('Number is ' + str(number))

print('Out of loop')

In diesem kleinen Programm wird die Variablenumber bei 0 initialisiert. Dann konstruiert einefor-Anweisung die Schleife, solange die Variablenumber kleiner als 10 ist.

Innerhalb derfor-Schleife gibt es eineif-Anweisung, die die Bedingung darstellt, dassif die Variablenumber der Ganzzahl 5 entspricht,then die Schleife brechen.

Innerhalb der Schleife befindet sich auch eineprint()-Anweisung, die bei jeder Iteration derfor-Schleife ausgeführt wird, bis die Schleife unterbrochen wird, da sie nach derbreak-Anweisung liegt.

Um zu wissen, wann wir uns außerhalb der Schleife befinden, haben wir eine letzteprint()-Anweisung außerhalb derfor-Schleife eingefügt.

Wenn wir diesen Code ausführen, erhalten wir folgende Ausgabe:

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

Dies zeigt, dass, sobald die Ganzzahlnumber als äquivalent zu 5 ausgewertet wird, die Schleife unterbrochen wird, da das Programm mit der Anweisungbreak dazu aufgefordert wird.

Die Anweisungbreak bewirkt, dass ein Programm aus einer Schleife ausbricht.

Continue-Anweisung

Die Anweisungcontinue gibt Ihnen die Möglichkeit, den Teil einer Schleife zu überspringen, in dem eine externe Bedingung ausgelöst wird, aber den Rest der Schleife abzuschließen. Das heißt, die aktuelle Iteration der Schleife wird unterbrochen, das Programm kehrt jedoch an den Anfang der Schleife zurück.

Die Anweisungcontinue befindet sich innerhalb des Codeblocks unter der Schleifenanweisung, normalerweise nach einer bedingten Anweisungif.

Unter Verwendung des gleichenfor-Schleifenprogramms wie im obigen AbschnittBreak Statement verwenden wir einecontinue-Anweisung anstelle einerbreak-Anweisung:

number = 0

for number in range(10):
    if number == 5:
        continue    # continue here

    print('Number is ' + str(number))

print('Out of loop')

Der Unterschied bei der Verwendung dercontinue-Anweisung anstelle einerbreak-Anweisung besteht darin, dass unser Code trotz der Unterbrechung fortgesetzt wird, wenn die Variablenumber als äquivalent zu 5 bewertet wird. Schauen wir uns unsere Ergebnisse an:

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

Hier trittNumber is 5 nie in der Ausgabe auf, aber die Schleife wird nach diesem Punkt fortgesetzt, um Zeilen für die Zahlen 6-10 zu drucken, bevor die Schleife verlassen wird.

Sie können die Anweisungcontinueverwenden, um tief verschachtelten bedingten Code zu vermeiden oder eine Schleife zu optimieren, indem Sie häufig auftretende Fälle eliminieren, die Sie ablehnen möchten.

Die Anweisungcontinue bewirkt, dass ein Programm bestimmte Faktoren überspringt, die innerhalb einer Schleife auftreten, und dann den Rest der Schleife durchläuft.

Pass Statement

Wenn eine externe Bedingung ausgelöst wird, können Sie mit der Anweisungpassdie Bedingung behandeln, ohne dass die Schleife in irgendeiner Weise beeinträchtigt wird. Der gesamte Code wird weiterhin gelesen, es sei denn, einebreak oder eine andere Anweisung tritt auf.

Wie bei den anderen Anweisungen befindet sich die Anweisungpassinnerhalb des Codeblocks unter der Schleifenanweisung, normalerweise nach einer bedingten Anweisungif.

Ersetzen wir mit demselben Codeblock wie oben die Anweisungbreak odercontinue durch eine Anweisungpass:

number = 0

for number in range(10):
    if number == 5:
        pass    # pass here

    print('Number is ' + str(number))

print('Out of loop')

Die Anweisungpass, die nach der bedingten Anweisungifauftritt, weist das Programm an, die Schleife weiter auszuführen und die Tatsache zu ignorieren, dass die Variablenumber während einer ihrer Iterationen 5 entspricht.

Wir führen das Programm aus und betrachten die Ausgabe:

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

Bei Verwendung der Anweisungpass in diesem Programm stellen wir fest, dass das Programm genau so ausgeführt wird, als ob es keine bedingte Anweisung im Programm gäbe. Die Anweisungpass weist das Programm an, diese Bedingung zu ignorieren und das Programm wie gewohnt weiter auszuführen.

Die Anweisungpasskann minimale Klassen erstellen oder als Platzhalter fungieren, wenn Sie an neuem Code arbeiten und auf algorithmischer Ebene denken, bevor Sie Details herausarbeiten.

Fazit

Mit den Anweisungenbreak,continue undpass in Python können Siefor Schleifen undwhile Schleifen effektiver in Ihrem Code verwenden.

Um mehr mit den Anweisungenbreak undpass zu arbeiten, können Sie unserem Projekt-Tutorial „https://www.digitalocean.com/community/tutorials/how-to-create-a-twitterbot-with-“ folgen. Python-3-und-die-Tweepy-Bibliothek [So erstellen Sie einen Twitterbot mit Python 3 und der Tweepy-Bibliothek]. “