Ich rätzel gerade wofür man continue eigentlich verwenden könnte..
hat jemand ein Beispiel das man verstehen könnte? Mir scheint der Befehl in schleifen mit verzweigungen irgendiwe überflüssig zu sein..
wofür ist continue gut?
Man kann Code in der Tat so schreiben, dass `continue` nicht benötigt wird.
Hier mal zur Veranschaulichung:
Das `continue` bedeutet, dass sofort der nächste Schleifendurchlauf begangen wird. Das ``do_something()` wird dann also auf leere Zeilen nicht angewendet.
Und hier ohne `continue`:
Hier wird das, was getan werden soll, einfach in einen `if`-Block gesteckt. Zeilen ohne Inhalt fallen nicht unter die `if`-Bedingung, sodass sie auch hier ignoriert werden.
Es kommt aber IMHO auf den Anwendungsfall an. Bei dem gezeigten Beispiel würde ich auf `continue` verzichten (d.h. Variante 2 nutzen). Wenn ich hingegen diverse Tests machen müsste und diese auch nicht sauber in einer einzigen Zeile abarbeiten könnte, dann ist es manchmal lesbarer, an den nötigen Stellen mit einem `continue` auszusteigen.
Übrigens sollte `continue` nicht mit `break` verwechselt werden: `break` bricht die komplette Schleife ab. `continue` nur den aktuellen Iterationsschritt.
Hier mal zur Veranschaulichung:
Code: Alles auswählen
for line in lines:
if len(line) == 0:
# ignore empty lines
continue
do_something(line)Und hier ohne `continue`:
Code: Alles auswählen
for line in lines:
if len(line) > 0:
do_something(line)Es kommt aber IMHO auf den Anwendungsfall an. Bei dem gezeigten Beispiel würde ich auf `continue` verzichten (d.h. Variante 2 nutzen). Wenn ich hingegen diverse Tests machen müsste und diese auch nicht sauber in einer einzigen Zeile abarbeiten könnte, dann ist es manchmal lesbarer, an den nötigen Stellen mit einem `continue` auszusteigen.
Übrigens sollte `continue` nicht mit `break` verwechselt werden: `break` bricht die komplette Schleife ab. `continue` nur den aktuellen Iterationsschritt.
