- 1 Section
- 10 Lessons
- unbegrenzt
- Python Grundlagen10
- 1.1Python-Grundlagen: Installation, REPL, erstes Skript
- 1.2Variablen, Datentypen, Typumwandlung
- 1.3Kontrollstrukturen: if, elif, else
- 1.4Schleifen: for, while, range
- 1.5Listen, Tupel, Dictionaries, Sets
- 1.6Funktionen: def, Parameter, return
- 1.7Fehlerbehandlung: try-except-finally
- 1.8Strings: Methoden, Formatierung, f-Strings
- 1.9Dateien lesen und schreiben
- 1.10Praxisprojekt: Kleines Python-Programm von A bis Z
Kontrollstrukturen: if, elif, else
Bedingungen sind das Fundament jedes nützlichen Programms. „Wenn der Benutzer eingeloggt ist, zeige das Dashboard. Sonst zeig den Login-Bildschirm." Solche Verzweigungen schreibt man in Python mit if, elif und else. Die Logik ist dieselbe wie in Java oder anderen Sprachen – aber die Schreibweise ist anders und Python hat eine ganz eigene Besonderheit: Code-Blöcke werden über Einrückung definiert, nicht über geschweifte Klammern.
1) Einrückung als Syntax – Pythons große Eigenheit
Das ist DER große Bruch zu fast allen anderen Sprachen. In Java, C, JavaScript und Co. werden Code-Blöcke mit { ... } geschrieben, und Einrückung ist nur Lesehilfe. In Python ist die Einrückung selbst die Syntax – sie entscheidet was zu welchem Block gehört. Vergleich:
····print("Volljährig")
····print("Darf wählen")
else:
····print("Noch zu jung")
print("Ende")
System.out.println("Volljährig");
System.out.println("Darf wählen");
} else {
System.out.println("Noch zu jung");
}
:. 2) Der zugehörige Block ist eingerückt – Standard sind 4 Leerzeichen. 3) Sobald die Einrückung wieder zurückgeht, ist der Block zu Ende. Schon eine falsche Einrückung um ein Leerzeichen wirft einen IndentationError! Tab und Leerzeichen mischen geht ebenfalls schief – darum die meisten Editoren so einstellen, dass Tab automatisch 4 Leerzeichen einfügt.2) if, elif, else – die volle Syntax
Die drei Schlüsselwörter if, elif, else decken alle Verzweigungen ab. elif ist die Python-Kurzform für „else if" – kürzer und lesbarer:
Wie überall wird von oben nach unten geprüft. Beim ersten zutreffenden Zweig wird der Block ausgeführt – danach sind alle weiteren elif/else übersprungen. else ist optional und fängt alles ab was nicht zugetroffen hat.
3) Sandbox: Verzweigung live verfolgen
Hier kannst du eine Punkte-Bewertung beobachten. Ändere die Punkte und sieh welcher Zweig genommen wird:
4) Verschachtelte if-Anweisungen
Wie überall kannst du if-Anweisungen verschachteln. Achte bei Python aber besonders auf die Einrückung – jede Ebene bekommt 4 Leerzeichen mehr:
Tief verschachtelte ifs werden schnell unleserlich. Oft kann man sie mit logischen Operatoren (and, or) zusammenfassen oder durch frühe „Returns" in Funktionen vermeiden – mehr dazu in Lektion 6.
5) Truthiness in Bedingungen nutzen
Python ist sehr großzügig bei dem was es als „wahr" oder „falsch" akzeptiert. Du brauchst nicht if x != "": zu schreiben – Python betrachtet leere Strings, leere Listen, 0 und None automatisch als falsch. Diese „Truthy/Falsy"-Mechanik macht aus Lektion 2 Bedingungen oft sehr kurz:
if len(liste) > 0: reicht if liste:. Statt if name != "": reicht if name:. Das ist pythonisch. Aber Vorsicht beim Wert 0: if anzahl: ist FALSCH wenn anzahl=0 ein gültiger Wert sein soll – dann besser explizit if anzahl > 0: oder if anzahl is not None: verwenden.6) Match-Case: das neue „switch" (ab Python 3.10)
Bis Python 3.9 gab es kein switch-Statement. Wer das aus Java kannte, musste in Python lange if-elif-Ketten schreiben. Seit 3.10 gibt es das aber – sogar mächtiger: match-case (auch „structural pattern matching" genannt):
case [x, y] matcht eine 2-Element-Liste. case _ if x > 0 kann Bedingungen kombinieren. Für einfache Auswahl ist match-case lesbarer als eine lange elif-Kette – aber for-Anfänger reicht erstmal das normale if/elif. Achtung: nur ab Python 3.10+ verfügbar!7) Ternärer Ausdruck – Kurzform für Zuweisungen
Python hat eine besonders lesbare Kurzform für einfaches if/else: wert_wenn_true if bedingung else wert_wenn_false. Das liest sich fast wie ein englischer Satz:
Nützlich für simple Wertzuweisungen. Für komplexere Verzweigungen lieber normales if/elif/else benutzen – Lesbarkeit geht über Kürze.
Zusammenfassung
Python-Bedingungen mit if, elif, else. Einrückung ist Syntax – 4 Leerzeichen Standard, Tabs und Spaces nicht mischen. Hinter Bedingung kommt :, dann der eingerückte Block. elif ist Pythons Kurzform für „else if". Reihenfolge wichtig – erste passende Bedingung gewinnt. Logik mit and, or, not (siehe L2). Truthiness: leere Werte (0, "", None, [], {}) sind falsy. Verschachtelung möglich, mit and/or oft vermeidbar. match-case ab Python 3.10 für switch-ähnliche Muster. Ternärer Ausdruck: a if cond else b.
