Python-Schleifen: For- und While-Schleifen erklärt

Erfahren Sie, wie Sie Python-Schleifen zum Durchlaufen von Daten verwenden. Beherrschen Sie Best Practices für For-Schleifen, While-Schleifen, Break, Continue und Loop anhand interaktiver Beispiele.

Versuchen Sie es im Editor

Übersicht

Schleifen sind eines der grundlegendsten und leistungsstärksten Konzepte in der Programmierung. Sie ermöglichen es Ihnen, einen Codeblock mehrmals auszuführen, ohne ihn neu zu schreiben. Stellen Sie sich vor, Sie müssten eine Liste mit 10.000 Benutzern verarbeiten. Ohne Schleife wären 10.000 Zeilen Code erforderlich. Bei einer Schleife benötigen Sie nur drei. Dieses als Iteration bekannte Konzept ist die Grundlage für Automatisierung, Datenverarbeitung und algorithmische Logik.

In Python wird die Iteration hauptsächlich durch zwei Konstrukte gehandhabt: die „for“-Schleife und die „while“-Schleife. Obwohl sie beide Code wiederholen, dienen sie unterschiedlichen grundlegenden Zwecken. Eine „for“-Schleife wird normalerweise für eine bestimmte Iteration verwendet, was bedeutet, dass Sie im Voraus wissen, wie oft die Schleife ausgeführt werden soll, oder dass Sie eine bestimmte Sammlung von Elementen durchlaufen müssen. Eine „while“-Schleife wird für eine unbegrenzte Iteration verwendet, was bedeutet, dass die Schleife so lange weiterläuft, wie eine bestimmte Bedingung wahr bleibt.

Die „for“-Schleife in Python ist im Vergleich zu anderen Sprachen bemerkenswert elegant. Anstatt Zählervariablen (wie „int i = 0“) manuell zu verwalten, fungiert die „for“-Schleife von Python als Iterator. Es durchläuft automatisch Sequenzen wie Listen, Tupel, Wörterbücher, Mengen oder Zeichenfolgen und extrahiert jedes Element einzeln. Beispielsweise übernimmt „für Name in Namen:“ automatisch das Abrufen des nächsten Namens, bis die Liste erschöpft ist.

Die „while“-Schleife hingegen wertet vor jeder einzelnen Iteration einen booleschen Ausdruck aus. Wenn der Ausdruck „True“ ergibt, wird der Schleifenblock ausgeführt. Wenn das Ergebnis „Falsch“ ist, wird die Schleife beendet. Dies macht „while“-Schleifen perfekt für Szenarien wie das Lesen von Abschnitten aus einer Datei, bis Sie das Ende erreichen, oder das Warten darauf, dass ein Benutzer eine gültige Antwort eingibt. Dies birgt jedoch auch das Risiko von „Endlosschleifen“, wenn die Bedingung nie „Falsch“ wird.

Python bietet außerdem Schleifenkontrollanweisungen, um das Iterationsverhalten dynamisch zu ändern. Die „break“-Anweisung beendet sofort die gesamte Schleife und springt zur ersten Codezeile nach dem Schleifenblock. Die „continue“-Anweisung überspringt den Rest der aktuellen Iteration und springt sofort zum Anfang der Schleife zurück, um das nächste Element oder die nächste Bedingung auszuwerten. Um sauberen und effizienten Python-Code zu schreiben, ist es wichtig zu verstehen, wann Break und Continue verwendet werden sollten.

Code- und Ausführungsausgabe

Dieses Beispiel demonstriert die Iteration über eine Liste mithilfe einer for-Schleife und ein einfaches Countdown-Muster mithilfe einer while-Schleife.

names = ["Alice", "Bob", "Charlie"]

print("--- For Loop ---")
for name in names:
    print(f"Hello, {name}!")

print("\n--- While Loop ---")
count = 3
while count > 0:
    print(f"Countdown: {count}")
    count -= 1
print("Go!")
Terminal-Ausgabe
--- For Loop ---
Hello, Alice!
Hello, Bob!
Hello, Charlie!

--- While Loop ---
Countdown: 3
Countdown: 2
Countdown: 1
Go!

Schrittweise Umsetzung

  • Verarbeiten Sie große Datensätze Zeile für Zeile
  • Wiederkehrende Hintergrundaufgaben automatisieren
  • Serverantworten bis zum Erfolg abfragen

Häufig gestellte Fragen

Wie verlasse ich eine Schleife vorzeitig?

Mit der „break“-Anweisung können Sie die Schleife sofort beenden und die Ausführung bei der nächsten Anweisung fortsetzen.

Was ist die „continue“-Anweisung?

„continue“ überspringt den Rest der aktuellen Iteration und geht direkt zurück zur Bedingungsauswertung der Schleife.

Verwandte Themen

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.