Python lernen (Teil 8): Wenn's schiefgeht
Exceptions verstehen und gezielt behandeln: try, except, else, finally, eigene Fehlerklassen und EAFP – damit der Dungeon auf ungültigen Input reagiert, statt abzustürzen.
ls -lt posts/ | grep #python
Exceptions verstehen und gezielt behandeln: try, except, else, finally, eigene Fehlerklassen und EAFP – damit der Dungeon auf ungültigen Input reagiert, statt abzustürzen.
@dataclass erzeugt Initialisierung, Repräsentation und Vergleiche automatisch. Mit Fields, Default Factories, frozen, slots und __post_init__ werden Datenklassen kompakt und trotzdem flexibel.
Klassen bündeln State und Verhalten: Spieler, Räume und Gegenstände werden zu Objekten mit eigenen Attributen und Methoden.
Ruff findet Fehler, modernisiert Python-Code, sortiert Imports und übernimmt die Formatierung – schnell, zentral konfiguriert und direkt in Editor, pre-commit und CI integrierbar.
Comprehensions, Slicing, enumerate, zip, Unpacking und Truthiness – mit diesen Idiomen wird unser Python-Code kompakter, klarer und leichter zu lesen.
match/case ist mehr als ein switch: Mit Literal-, Sequenz-, Mapping- und Class-Patterns zerlegst Du Datenstrukturen, bindest Werte und ergänzt Bedingungen über Guards.
Funktionen zerlegen Code in benannte, wiederverwendbare Blöcke. Mit Parametern, Rückgabewerten und Scope wird unser Game-Loop wieder übersichtlich.
Ausrichtung, Präzision, Tausendertrenner, Debug-Syntax und dynamische Formatangaben – so nutzt Du die Format-Mini-Sprache der f-Strings vollständig aus.
Listen, Tupel, Dictionaries und Sets – damit beschreiben wir die Dungeon-Welt als Daten und geben unserem Abenteurer ein richtiges Inventar.
Vom Quelltext zum laufenden Programm: Tokenizer, AST, Code-Objekte, Bytecode und die CPython-Ausführungsengine – plus ein Blick auf Cache, Spezialisierung, Free-Threading und JIT.