veröffentlicht am: 20.04.2022 zuletzt aktualisiert am: 19.04.2023
In diesem Tutorial wollen wir das Konzept der Python Schleifen kennenlernen.
Es ist wichtig zu verstehen, dass Programmiersprachen Code Zeile für Zeile interpretieren. Jede Zeile wird zuerst ausgeführt, danach wird die nächste Zeile in der Sequenz ausgelöst und zur Ausführung geschickt. Das erleichtert dem Interpreter die Arbeit, wenn er Ausnahmen, Warnungen oder Fehler auslöst, die behoben werden müssen, bevor der nächste Teil des Codes ausgeführt wird.
Nach einer Weile des Programmierens wird jedoch klar, dass es bestimmte Fälle gibt, in denen ein bestimmter Teil des Codes immer und immer wieder ausgeführt werden muss. Das macht es praktisch unmöglich, ein und denselben Code zu schreiben oder einzufügen, um die Anforderungen zu erfüllen, wenn er viele Male ausgeführt werden muss. Hier kommt das Konzept des Loopings ins Spiel. Mit Hilfe von Schleifen können wir ein und denselben Code immer und immer wieder für eine bestimmte Anzahl von Malen wiederholen oder bis eine bestimmte Bedingung erfüllt ist.
Auf diese Weise können wir dieselbe Aufgabe erledigen, indem wir einen bestimmten Codeblock nur einmal schreiben und ihn zusammen mit den Aktualisierungen der verschiedenen Variablen mehrmals ausführen.
Verschiedene Programmiersprachen bieten unterschiedliche Funktionen und Schlüsselwörter, um mit verschiedenen Arten von Python Schleifen zu arbeiten. Wir werden nun versuchen, die Erstellung der verschiedenen Schleifenarten zu verstehen.
Python stellt uns zwei Arten von Schleifen zur Verfügung, welche wie folgt aufgeteilt werden können:
Des weiteren gibt es auch verschachtelte Python Schleifen, welche jedoch ein bisschen komplexer sind und wir erst am Ende des Beitrages behandeln werden.
Bevor wir loslegen, ist es wichtig zu wissen, dass jede Schleife aus zwei Hauptbestandteilen besteht:
Lass uns nun die erste Python Schleife anschauen!
Die for-Schleife wird hauptsächlich verwendet, um eine bestimmte Zeile oder einen bestimmten Codeblock immer wieder auszuführen, der eine bestimmte Sequenz (beziehungsweise die einzelnen Werte einer Sequenz) in einer Schleife durchläuft. In Python wird das Schlüsselwort for ein wenig anders verwendet als in anderen Sprachen. Es hilft uns, eine bestimmte for-Schleife zu definieren, die durch eine Sequenz, eine Datenstruktur (wie dem Dictionary, Set, Liste, etc.) oder einen bestimmten vordefinierten Bereich iteriert. Schauen wir uns den Pseudocode für die for-Schleife an, um sie besser zu verstehen. Sie lässt sich wie folgt veranschaulichen.
# Beginn der for-Schleife for wert in mein_array: anweisungen ausfuehren # Ende der for-Schleife
Wie wir im obigen Codeblock sehen können, versuchen wir, jeden Wert im Array zu lesen und bestimmte Anweisungen auf ebendiesen anzuwenden. Wenn wir jedoch die Indizes des Arrays analysieren möchten, können wir die Funktion range() in Python verwenden. Eine range()-Funktion wird verwendet, um über einen bestimmten Bereich von Werten zu iterieren. Sie nimmt drei Argumente entgegen: den Startwert, den Endwert und die Schrittweite, die standardmäßig 1 beträgt. Mit Hilfe des folgenden Codeblocks lässt sich das besser nachvollziehen.
# Beginn der for-Schleife for index in range(len(mein_array)): anweisungen ausfuehren # Ende der for-Schleife
Wie wir im obigen Codeblock sehen können, verwenden wir die range()-Funktion zusammen mit dem Schlüsselwort len, um die Werte unter Berücksichtigung der Gesamtlänge unseres Eingabefeldes zu iterieren. Wenn also der Wert von len(array) 7 ist, was bedeutet, dass das Array 7 Werte enthält, werden die for-Schleifen für Werte zwischen 0 und einschließlich 6 durchlaufen.
Neben der range()-Funktion können auch andere Anweisungen wie Python else, continue und Python break zusammen mit der for-Schleife verwendet werden. Diese Anweisungen werden manchmal auch als Schleifensteuerungsanweisungen bezeichnet. Wir wollen uns verschiedene Kombinationen dieser Anweisungen mit der for-Schleife ansehen.
Die Break-Anweisung wird grundsätzlich verwendet, um eine bestimmte Anweisung beziehungsweise die Schleife zu verlassen, wenn eine bestimmte Bedingung erfüllt ist. Dies lässt sich mit Hilfe des folgenden Codeblocks besser verstehen.
# Beginn der for-Schleife for i in range(2, 10): if bedingung: break # break-Anweisung # Ende der for-Schleife
Wie wir sehen, lösen wir, wenn die Bedingung erfüllt ist, das break-Schlüsselwort aus, mit dem wir die for-Schleife sofort verlassen beziehungsweise abbrechen können, ohne danach weiter in der Schleife zu iterieren.
Werfen wir nun einen Blick auf die continue-Anweisung innerhalb einer for-Schleife.
Die continue-Anweisung führt im Gegensatz zur break-Anweisung springt nicht sofort aus einer bestimmten Schleife heraus. Im Gegenteil, sie hilft dabei, ein paar Iterationen der jeweiligen Schleife zu überspringen, wenn eine bestimmte Bedingung erfüllt ist. Das lässt sich mit Hilfe des folgenden Codeblocks besser verstehen.
# Beginn der for-Schleife for i in range(1, 100): if bedingung: # Überspringe den aktuellen Schleifendurchlauf wenn der Wert der Variable i einer Bedingung entspricht continue # continue-Anweisung else: anweisungen anwenden # Anweisung, wenn nicht übersprungen werden soll # Ende der for-Schleife
Wenn die Bedingung den Wert True liefert, wird die Iteration für diesen Wert in der Schleife übersprungen. Wenn die Bedingung hingegen False ist, können wir bestimmte Anweisungen auf das jeweilige Element ausführen.
Mehr über die Python continue Anweisung erfahren!
Schauen wir uns nun die else-Anweisung zusammen mit der for-Schleife an.
Eine else-Anweisung funktioniert ähnlich wie der else-Block in einer if-else-Anweisung. Sie führt den zugehörigen Codeblock immer dann aus, wenn die Hauptbedingung für die Schleife endet. Dies lässt sich mit Hilfe des folgenden Codeblocks besser verstehen.
# Beginn der for-Schleife for i in range(1, 100): anweisungen anwenden else: # else-Anweisung andere anweisungen anwenden # Ende der for-Schleife
Im obigen Block wird das Schlüsselwort else ausgelöst, sobald die for-Schleife ihre Iterationen beendet hat. Das else wird in dem Falle immer durchlaufen werden, sobald die Schleife fertig durchgelaufen ist.
Genau wie die for-Schleife funktioniert auch die while-Schleife als systematische Python Schleifen- oder Parsing-Strategie für einen bestimmten Datentyp oder eine Sequenz. Eine while-Schleife besteht hauptsächlich aus zwei Dingen. Das eine ist der Schleifenkopf, auf die sich die Schleife bezieht. Das zweite ist der Schleifenkörper zusammen mit einer Aktualisierungsanweisung, die direkt mit dem Schleifenkörper der while-Schleife korrespondiert. Mit Hilfe des folgenden Pseudocodes lässt sich diese Schleife besser nachvollziehen.
# Beginn der while-Schleife while bedingung: anweisungen anwenden zählervariable aktualisieren # Ende der for-Schleife
Hinweis: Die Anweisung while bedingung entspricht der gleichen Codezeile wie while bedingung == True oder while bedingung == 1. Die Zeile while bedingung zeigt an, dass die Bedingung wahr sein muss.
Wie wir oben sehen können, löst die Bedingung den Codeblock innerhalb der while-Schleife aus. Dabei ist es wichtig, dass es die Aktualisierungsanweisung gibt. Fehlt die Aktualisierungsanweisung (welche den mit der Bedingung verknüpften Wert erhöht), läuft die while-Schleife unendlich lange. Dieser Zustand wird auch als Endlosschleife bezeichnet. Daher ist es wichtig bei jeder while-Schleife die dazugehörige Variable dementsprechend zu aktualisieren!
Ähnlich wie die for-Schleife hat auch die while-Schleife einige Schleifenänderungs- oder Schleifensteuerungsanweisungen wie else, continue oder break. Wir wollen versuchen, jede dieser Anweisungen anhand einer while-Schleife zu verstehen.
Die break-Anweisung funktioniert, wie wir oben gelernt haben, auch bei der while-Schleife auf ähnliche Weise. Das lässt sich mit Hilfe des folgenden Codeblocks besser nachvollziehen.
# Beginn der while-Schleife while bedingung == True: anweisungen anwenden variable bedingung aktualisieren if not bedingung_zwei: break # Ende der while-Schleife
Wie wir im obigen Codeblock sehen können, löst die bedingung_zwei das Schlüsselwort break aus. Sobald das Schlüsselwort ausgelöst wird, wird die Schleife nicht weiter durchlaufen.
Jetzt wollen wir versuchen, die Funktionsweise der while-Schleife mit einer else-Anweisung zu verstehen.
Eine else-Anweisung, wie oben gezeigt, wird verwendet, um einen Codeblock auszuführen, der nach der Hauptschleife ausgeführt werden soll. Dies lässt sich mit Hilfe des folgenden Codeblocks verstehen.
# Beginn der while-Schleife while bedingung: # Stellt while bedingung == True dar anweisung anwenden # Anweisung 1 variable bedingung aktualisieren else: zusätzliche anweisung anwenden # Anweisung 2, wenn die Schleife komplett durchlaufen worden ist # Ende der while-Schleife
Wie wir im obigen Codeblock sehen können, wird die Anweisung 2 erst nach der Ausführung der while-Schleife ausgeführt. Schauen wir uns nun die continue-Anweisung mit einer while-Schleife an.
Eine continue-Anweisung wird verwendet, um eine (oder auch mehrere) Iteration/en der while-Schleife zu überspringen. Dies lässt sich mit Hilfe des folgenden Codeblocks nachvollziehen.
# Beginn der while-Schleife while bedingung: # Stellt while bedingung == True dar if bedingung_zwei: continue anweisungen anwenden variable bedingung aktualisieren # Ende der while-Schleife
Wie wir im obigen Code sehen können, wird die Iteration der while-Schleife übersprungen, sobald die bedingung_zwei ausgelöst wird.
Verschachtelte Schleifen sind die Art von Schleifen, die innerhalb einer anderen Schleife geschrieben werden.
Dieses Konzept kann mit Hilfe des folgenden Codeblocks veranschaulicht werden.
# Beginn der ersten for-Schleife for i in array_eins: # Beginn der zweiten for-Schleife for j in array_zwei: anweisung auf Element j anwenden # Ende der zweiten for-Schleife anweisung auf Element i anwenden # Ende der ersten for-Schleife
Wie wir im obigen Codeblock sehen können, haben wir zwei for-Schleifen. Eine innerhalb der anderen. Für jeden Wert im ersten Array array_eins wählen wir einen Wert j aus array_zwei und tun etwas. Sobald wir die gesamte zweite for-Schleife für einen bestimmten Wert im ersten Array durchlaufen haben, wählen wir erneut einen Wert aus array_eins und iterieren die Werte von array_zwei erneut.
Wir haben also die Funktionsweise von zwei for-Schleifen mit Hilfe des Konzepts der verschachtelten Schleifen verstanden. Auf ähnliche Weise können wir auch mit mehreren for-Schleifen arbeiten.
# Beginn der ersten while-Schleife while bedingung_eins: # Beginn der zweiten while-Schleife while bedingung_zwei: anweisungen anwenden # Ende der zweiten while-Schleife andere anweisungen anwenden # Ende der ersten while-Schleife
Wie wir sehen können, haben wir zwei while-Schleifen innerhalb einer anderen. Die Logik ist die gleiche wie die von zwei for-Schleifen. Versuchen wir nun, eine for-Schleife und eine while-Schleife zu verschmelzen und die beiden Python Schleifen zu verschachteln.
# Beginn der for-Schleife for i in bedingung_eins: # Beginn der while-Schleife while bedingung_zwei: anweisungen anwenden # Ende der while-Schleife andere anweisungen anwenden # Ende der for-Schleife
Wie wir sehen können, würde die for-Schleife hier zusammen mit der while-Schleife funktionieren.
Wir haben also erfolgreich die Funktionsweise von Python Schleifen verstanden. Es ist wichtig, die Funktionen der verschiedenen Python Schleifen, ihre Anwendungsfälle sowie ihre Vor- und Nachteile zu verstehen. Wir können die Vorteile der verschiedenen Schleifensteuerungsanweisungen nutzen, um unsere Schleifenabläufe zu modifizieren.
😩 Gelangweilt von den Udemy & YouTube-Tutorials?!
Lerne spielerisch Python und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.
"Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."
- Lennart Sparbier
100% kostenlos registrieren · keine Kreditkarte notwendig
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig