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.
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:
OutputNumber 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.
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:
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 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.
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:
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
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.
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.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!