Eine if-Anweisung besteht aus einem Anweisungskopf, der eine Bedingung enthält, und aus einem Code-Block als Anweisungskörper.
if Bedingung:
Anweisung
...
Anweisung
Eine if-Anweisung kann um beliebig viele elif-Zweige erweitert werden (elif steht für else if):
if Bedingung:
Anweisung
...
Anweisung
elif Bedingung:
Anweisung
...
Anweisung
elif Bedingung:
Anweisung
...
Anweisung
Eine if-Anweisung kann am Ende um einen else-Zweig erweitert werden:
if Bedingung:
Anweisung
...
Anweisung
else:
Anweisung
...
Anweisung
A if Bedingung else B
Beispiel: var = (20 if x == 1 else 30)
Es wird immer zunächst die Bedingung ausgewertet und erst dann, je nach Ergebnis, entweder der linke
oder der rechte Teil des Ausdrucks. Ein solches Auswertungsvorgehen wird Lazy Evaluation genannt,
da nicht alle Komponenten der Anweisung ausgewertet werden.
Eine while-Schleife dient dazu, einen Code-Block so lange auszuführen, wie eine bestimmte Bedingung erfüllt ist.
while Bedingung:
Anweisung
...
Anweisung
Ein break innerhalb des Schleifenkörpers bricht die Schleife ab.
while Bedingung:
Anweisung
...
Anweisung
else:
Anweisung
...
Anweisung
Der else-Block einer while-Schleife wird genau einmal ausgeführt, wenn die Schleife vollständig abgearbeitet wurde,
also die Bedingung zum ersten Mal False ergibt. Insbesondere wird der else-Zweig nicht ausgeführt, wenn die
Schleife durch eine break-Anweisung vorzeitig abgebrocen wurde.
Eine for-Schleife wird verwendet, um ein iterierbares Objekt zu durchlaufen (z.B. Listen, Strings).
for Variable in Objekt:
Anweisung
...
Anweisung
In for-Schleifen können auch die Schlüsselwörter break und continue verwendet werden.
Eine for-Schleife kann auch über einen else-Zweig verfügen.
Die Funktion range erzeugt ein iterierbares Objekt, das alle ganzen Zahlen eines bestimmten Bereichs durchläuft:
range(stop)
range(start, stop)
range(start, stop, step)
stop selbst wird nie erreicht, der Schleifenzähler bleibt stets kleiner als stop.
Die pass-Anweisung ist eine Anweisung, die gar nichts macht, sie dient als Platzhalter, z.B. für
einen Anweisungskopf ohne entsprechenden Körper.