Tutorial

Verwenden von Break-, Continue- und Pass-Anweisungen bei der Arbeit mit Schleifen in Python 3

PythonDevelopment

Einführung

Die Verwendung von for-Schleifen und while-Schleifen in Python ermöglicht Ihnen die Automatisierung und Wiederholung von Aufgaben in effizienter Weise.

Jedoch kann ein externer Faktor die Ausführung Ihres Programms manchmal beeinflussen. Wenn dies der Fall ist, möchten Sie vielleicht, dass Ihr Programm eine Schleife vollständig verlässt, vor dem Fortfahren einen Teil einer Schleife überspringt oder diesen externen Faktor ignoriert. Sie können diese Aktionen mit den Anweisungen break, continue und pass durchführen.

Break-Anweisung

In Python bietet Ihnen die break-Anweisung die Möglichkeit, eine Schleife zu verlassen, wenn eine externe Bedingung ausgelöst wird. Sie setzen die break-Anweisung innerhalb des Codeblocks unter Ihrer Schleifenanweisung ein, normalerweise nach einer bedingten if-Anweisung.

Sehen wir uns ein Beispiel an, das die Anweisung break in einer Schleife for verwendet:

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 Variable number bei 0 initialisiert. Dann erstellt eine Anweisung for die Schleife so lange, bis die Variable number kleiner als 10 ist.

Innerhalb der Schleife for gibt es eine Anweisung if, die die Bedingung stellt, dass, wenn die Variable number gleich der Ganzzahl 5 ist, dann die Schleife abbricht.

Innerhalb der Schleife gibt es auch eine Anweisung print(), die bei jeder Iteration der Schleife for ausgeführt wird, bis die Schleife abbricht, da sie nach der Anweisung break steht.

Um zu wissen, wann wir aus der Schleife heraus sind, haben wir eine abschließende Anweisung print() außerhalb der Schleife for eingefügt.

Wenn wir diesen Code ausführen, wird unsere Ausgabe wie folgt aussehen:

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

Dies zeigt, dass, sobald die Ganzzahl number als gleichwertig zu 5 ausgewertet wird, die Schleife abbricht, da das Programm mit der Anweisung break dazu aufgefordert wird.

Die Anweisung break veranlasst ein Programm, aus einer Schleife auszubrechen.

Continue-Anweisung

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

Die Anweisung continue befindet sich innerhalb des Codeblocks unter der Schleifenanweisung, normalerweise nach einer bedingten if-Anweisung.

Unter Verwendung des gleichen Schleifenprogramms for wie im vorstehenden Abschnitt Break-Anweisung, verwenden wir eine Anweisung continue anstelle einer Anweisung break:

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 der Anweisung continue anstelle einer Anweisung break besteht darin, dass unser Code trotz der Unterbrechung fortgesetzt wird, wenn die Variable number als äquivalent zu 5 ausgewertet wird. Schauen wir uns unsere Ausgabe an:

Output
Number 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 tritt Nuber is 5 nie in der Ausgabe auf, aber die Schleife fährt nach diesem Punkt fort, um Zeilen für die Zahlen 6–10 auszugeben, bevor sie die Schleife verlässt.

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

Die Anweisung continue veranlasst ein Programm, bestimmte Faktoren zu überspringen, die innerhalb einer Schleife auftreten, dann aber den Rest der Schleife zu durchlaufen.

Pass-Anweisung

Wenn eine externe Bedingung ausgelöst wird, können Sie mit der Anweisung pass die Bedingung behandeln, ohne dass die Schleife in irgendeiner Weise beeinflusst wird; der gesamte Code wird weiterhin gelesen, bis eine break- oder eine andere Anweisung auftritt.

Wie bei den anderen Anweisungen, befindet sich die Anweisung pass innerhalb des Codeblocks unter der Schleifenanweisung, normalerweise nach einer bedingten if-Anweisung.

Unter Verwendung des gleichen Codeblocks wie vorstehend, ersetzen wir die Anweisung break oder continue durch eine Anweisung pass:

number = 0

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

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

print('Out of loop')

Die Anweisung pass, die nach der bedingten if-Anweisung steht, teilt dem Programm mit, dass es die Schleife weiter ausführen und die Tatsache ignorieren soll, dass die Variable number während einer ihrer Iterationen als gleichwertig zu 5 ausgewertet wird.

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

Output
Number 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

Durch die Verwendung der Anweisung pass in diesem Programm stellen wir fest, dass das Programm genau so abläuft, wie es ablaufen würde, wenn es keine bedingte Anweisung in dem Programm gäbe. Die Anweisung pass weist das Programm an, diese Bedingung zu ignorieren und das Programm wie gewohnt weiter auszuführen.

Die Anweisung pass kann minimale Klassen erstellen oder als Platzhalter dienen, wenn Sie an einem neuen Code arbeiten und auf einer algorithmischen Ebene denken, bevor Sie die Details ausarbeiten.

Zusammenfassung

Mit den Anweisungen break, continue und pass in Python können Sie for-Schleifen und while-Schleifen effektiver in Ihrem Code verwenden.

Um mehr mit den Anweisungen break und pass zu arbeiten, können Sie unserem Projekttutorial „Erstellen eines Twitterbots mit Python 3 und der Tweepy-Bibliothek“ folgen.

Creative Commons License