Einführung
Mit For- und While-Schleifen in Python können Sie Aufgaben auf effiziente Weise automatisieren und wiederholen.
Aber manchmal kann ein externer Faktor die Art und Weise beeinflussen, wie Ihr Programm läuft. Wenn dies der Fall ist, möchten Sie vielleicht, dass Ihr Programm eine Schleife komplett verlässt, einen Teil der Schleife überspringt, bevor es weiterläuft, oder den externen Faktor ignoriert. Sie können diese Aktionen mit den Anweisungen break
continue
und pass
ausfü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.
Schauen wir uns ein Beispiel an, das die break
-Anweisung in einer for
-Schleife verwendet:
number = 0for 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
auf 0 initialisiert. Dann konstruiert einefor
-Anweisung die Schleife so lange, wie die Variablenumber
kleiner als 10 ist.
Innerhalb der for
-Schleife befindet sich eine if
-Anweisung, die die Bedingung stellt, dass die Schleife abbricht, wenn die Variable number
gleich der ganzen Zahl 5 ist.
Innerhalb der Schleife befindet sich außerdem eine print()
-Anweisung, die bei jeder Iteration der for
-Schleife ausgeführt wird, bis die Schleife abbricht, da sie nach der break
-Anweisung steht.
Um zu wissen, wann wir aus der Schleife heraus sind, haben wir eine abschließende print()
-Anweisung außerhalb der for
-Schleife eingebunden.
Wenn wir diesen Code ausführen, sehen wir folgende Ausgabe:
OutputNumber is 0Number is 1Number is 2Number is 3Number is 4Out of loop
Das zeigt, dass die Schleife abbricht, sobald die Ganzzahl number
als gleichwertig zu 5 bewertet wird, da das Programm mit der break
-Anweisung dazu aufgefordert wird.
Die break
-Anweisung bewirkt, dass ein Programm aus einer Schleife ausbricht.
Fortsetzen-Anweisung
Die continue
-Anweisung gibt Ihnen die Möglichkeit, den Teil einer Schleife, in dem eine externe Bedingung ausgelöst wird, zu überspringen, aber den Rest der Schleife zu beenden. Das heißt, die aktuelle Iteration der Schleife wird unterbrochen, aber das Programm kehrt an den Anfang der Schleife zurück.
Die continue
-Anweisung wird innerhalb des Codeblocks unter der Schleifenanweisung stehen, normalerweise nach einer bedingten if
-Anweisung.
Bei Verwendung desselben for
-Schleifenprogramms wie im obigen Abschnitt über die Break-Anweisung verwenden wir eine continue
-Anweisung anstelle einer break
-Anweisung:
number = 0for 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 continue
-Anweisung anstelle einer break
-Anweisung besteht darin, dass unser Code trotz der Unterbrechung weiterläuft, wenn die Variable number
als gleichwertig zu 5 ausgewertet wird. Schauen wir uns unsere Ausgabe an:
OutputNumber is 0Number is 1Number is 2Number is 3Number is 4Number is 6Number is 7Number is 8Number is 9Out of loop
Hier kommt Number is 5
nie in der Ausgabe vor, aber die Schleife fährt nach diesem Punkt fort, um Zeilen für die Zahlen 6-10 zu drucken, bevor die Schleife verlassen wird.
Sie können die continue
-Anweisung verwenden, um tief verschachtelten bedingten Code zu vermeiden oder um eine Schleife zu optimieren, indem Sie häufig auftretende Fälle, die Sie verwerfen möchten, eliminieren.
Die continue
-Anweisung bewirkt, dass ein Programm bestimmte Faktoren, die innerhalb einer Schleife auftreten, überspringt, dann aber den Rest der Schleife durchläuft.
Pass-Anweisung
Wenn eine externe Bedingung ausgelöst wird, können Sie mit der pass
-Anweisung 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 wird die pass
-Anweisung innerhalb des Codeblocks unter der Schleifenanweisung stehen, typischerweise nach einer bedingten if
-Anweisung.
Benutzen wir den gleichen Codeblock wie oben und ersetzen wir die break
oder continue
-Anweisung durch eine pass
-Anweisung:
number = 0for number in range(10): if number == 5: pass # pass here print('Number is ' + str(number))print('Out of loop')
Die pass
-Anweisung, die nach der if
-Bedingungsanweisung steht, sagt dem Programm, dass es die Schleife weiterlaufen lassen und die Tatsache ignorieren soll, dass die Variable number
bei einer ihrer Iterationen als gleichwertig zu 5 ausgewertet wird.
Wir führen das Programm aus und betrachten die Ausgabe:
OutputNumber is 0Number is 1Number is 2Number is 3Number is 4Number is 5Number is 6Number is 7Number is 8Number is 9Out of loop
Bei Verwendung der pass
-Anweisung in diesem Programm stellen wir fest, dass das Programm genau so abläuft, wie es ablaufen würde, wenn keine bedingte Anweisung im Programm vorhanden wäre. Die pass
-Anweisung weist das Programm an, diese Bedingung zu ignorieren und das Programm wie gewohnt weiterlaufen zu lassen.
Die pass
-Anweisung kann minimale Klassen erzeugen oder als Platzhalter dienen, wenn man an neuem Code arbeitet und auf einer algorithmischen Ebene denkt, bevor man Details ausarbeitet.
Fazit
Die break
continue
, und pass
-Anweisungen in Python ermöglichen es Ihnen, for
-Schleifen und while
-Schleifen effektiver in Ihrem Code einzusetzen.
Um mehr mit break
und pass
-Anweisungen zu arbeiten, können Sie unserem Projekt-Tutorial „How To Create a Twitterbot with Python 3 and the Tweepy Library“
folgen.