Eine Entscheidung in englischer Form
if ist das erste Werkzeug, zu dem die meisten Programme greifen. Es lässt deinen Code einen Weg gehen, wenn eine Bedingung wahr ist, und einen anderen, wenn sie es nicht ist. Python schreibt das direkt aus:
Zwei Zeilen, eine Entscheidung. Die if-Zeile endet mit einem Doppelpunkt. Die eingerückte Zeile darunter ist der Rumpf des if — der Code, der läuft, wenn die Bedingung wahr ist. Wäre hour gleich 15, würde der Rumpf komplett übersprungen und nichts ausgegeben.
Die Einrückung ist hier die Struktur. Python erkennt an ihren führenden Leerzeichen, welche Zeilen zum if gehören. Vier Leerzeichen pro Ebene ist die Konvention; bleib konsistent.
Einen else-Zweig hinzufügen
Oft willst du, dass so oder so etwas passiert: das hier, wenn die Bedingung wahr ist, das andere sonst. Das macht else:
Die else-Zeile hat keine Bedingung — sie fängt alles ab, was das if nicht erwischt hat.
Mehrere Zweige mit elif
Für mehr als zwei Pfade, stapel elif-Klauseln („else if“) zwischen if und else:
Python geht die Bedingungen von oben nach unten durch und führt den Block der ersten wahren Bedingung aus. Der Rest wird übersprungen. Diese Reihenfolge ist wichtig: setzt du score >= 60 vor score >= 90, bekommen alle ein D — die erste wahre Bedingung gewinnt.
Eine saubere Struktur, die du im Hinterkopf behalten solltest: Die Bedingungen sollten für jede Eingabe gegenseitig ausschließend sein, und die Reihenfolge sollte widerspiegeln, wie du natürlicherweise über das Problem denkst. Spezifischere Fälle zuerst, allgemeinere zuletzt.
Truthy Werte in Bedingungen
Der Ausdruck in if muss sich nicht zu einem wörtlichen True oder False auswerten. Python akzeptiert jeden Wert und entscheidet über dessen Wahrheitsgehalt:
if items: liest sich als „wenn die Liste etwas enthält“. Falsy Werte sind unter anderem:
False0,0.0None- Leere Container:
"",[],{},set(),()
Alles andere ist truthy. Wahrheitswerte zu nutzen macht Code natürlicher lesbar, mit einer Einschränkung: Ist Null ein bedeutsamer Wert (ein Zähler, der legitim bei Null steht), vergleiche ausdrücklich mit is not None oder != 0, um die Verwirrung „leer = Null“ zu vermeiden.
Bedingungen kombinieren
Mit and, or und not baust du zusammengesetzte Bedingungen:
Verkettete Vergleiche sind ordentlicher als ein explizites and, wenn die Endpunkte einen Mittelwert teilen:
Das entspricht 18 <= age and age < 65, liest sich aber wie eine mathematische Ungleichung.
Verschachtelte if-Anweisungen
Du kannst if in if setzen. Es ist legal und manchmal die klarste Struktur — aber auch der Hauptweg, auf dem bedingter Code schwer zu folgen wird. Findest du dich drei Ebenen tief wieder, denk an Flattening mit frühen Rückgaben (sobald du Funktionen schreibst) oder durch Kombination der Bedingungen:
Beides funktioniert. Wähl die Fassung, die sich für eine Leserin besser liest, die den Code noch nicht kennt.
Der ternäre Ausdruck
Wenn ein Wert je nach Bedingung eins von zweien sein soll, hat Python eine kompakte Form:
Lies es von links nach rechts: „warm, wenn temp mindestens 70 ist, sonst cool“. Ideal für kurze entweder/oder-Zuweisungen. Hör damit auf, wenn die Zweige länger werden oder mehrere Operationen enthalten — dann ist ein vollständiger if/else-Block angenehmer fürs Auge.
if ist nur an einer Stelle ein Ausdruck
Anders als in manchen Sprachen erzeugt Pythons if-Anweisung selbst keinen Wert. Nur die ternäre Form tut das. Du kannst nicht x = if ...: schreiben, wie es in Rust oder Kotlin ginge. Willst du einen bedingten Wert, nimm das Ternäre; willst du bedingtes Verhalten, nimm einen vollen if-Block.
Ein kleines vollständiges Beispiel
Ein schnelles Programm, das eine Temperatur klassifiziert:
Beachte, dass die Logik im Wesentlichen nur entscheidet, was advice sein soll. Auf einen Blick erkennst du, welcher Temperaturbereich zu welcher Nachricht gehört. Das ist die Form, die du beim Schreiben von Bedingungen anstrebst — jeder Zweig klein, die Gesamtabsicht offensichtlich.
Was als Nächstes kommt
Bedingungen lassen deinen Code einen Weg wählen. Schleifen lassen ihn wiederholen. Als Nächstes: for-Schleifen, die mit Abstand häufigste Schleife in Python und der natürliche Partner zu den Sammlungen, die ein paar Seiten später folgen.
Häufig gestellte Fragen
Wie funktioniert eine if-Anweisung in Python?
if condition: gefolgt von einem eingerückten Block führt den Block nur aus, wenn die Bedingung wahr ist. Optionale elif-Klauseln (else if) erlauben weitere Bedingungen, und ein optionales else läuft, wenn sonst nichts zutraf.
Hat Python eine switch-Anweisung?
Python 3.10 hat match/case für strukturelles Pattern Matching hinzugefügt, das die meisten switch-Fälle abdeckt und mehr. Für einfache Verzweigungen ist eine Kette aus if/elif weiterhin üblich und völlig in Ordnung.
Was ist ein ternäres if in Python?
Ein einzeiliger bedingter Ausdruck: result = a if condition else b. Er liest sich von links nach rechts — werte a aus, wenn condition wahr ist, sonst b. Praktisch für kurze entweder/oder-Zuweisungen; weniger lesbar, sobald die Zweige länger werden.