- Martin Hoermann
- Donnerstag, 12. Dez 2024
- 10:00 - 10:45
- Okzident | Ebene 2
- Session
Python Metaprogramming ist ein leistungsstarkes Konzept für die dynamische Erzeugung und Modifikation von Klassen zur Laufzeit. In diesem Zusammenhang wird immer wieder das Zitat vonTim Peters genannt: "Metaclasses are deeper magic than 99% of users should ever worry about. If you wonder whether you need them, you don’t (the people who actually need them know with certainty that they need them, and don’t need an explanation about why)."
Nichtsdestotrotz gibt es zwei gute Gründe sich mit diesem Thema auseinanderzusetzen:
- Das Verständnis von Metaklassen eröffnet eine tiefergehendes Verständnis der Programmiersprache für die Konzepte hinter diversen Python Frameworks.
- Vielleicht hat man einfach Spaß, dieses Konzept einmal auszuprobieren, um das Zitat von Tim Peters für sich selber zu bestätigen oder zu verwerfen.
Folgende Grundlagen werden im Vortrag erläutert und anhand von Code-Beispielen verdeutlicht:
- Die Metaklasse type
- Vererbung, Metaklassen und Decorators
- die Funktionen __new__, __init__ und super
- Beispiele wie namedtuple und dataclasses