Help us!

Take some time to transcribe PyCon 2014 talks! Click on the "Share" button below the video and then "Subtitle" to get started.

Praktische Anwendung von Metaklassen

Summary

Metaklassen (metaclasses) in Python werden oft als exotische Spracheigenschaft betrachtet. Der Vortrag zeigt anhand konkreter Beispiele, wie sich Metaklassen in realen Projekten zum Debuggen und zum Code vereinfachen einsetzen lassen.

Praktische Anwendungen von Metaklassen

Python besitzt mit den Metaklassen ein sehr mächtiges Werkzeug, um orthogonale Eigenschaften eines Programms zu Implementieren. Das Stichwort dazu lautet "aspektorientiertes Programmieren". Leider werden Metaklassen aber oft als komplex und schwierig angesehen.

Der Vortrag zeigt an einem konkreten Beispiel, wie sich durch die Verwendung von Metaklassen Programmentwicklung vereinfachen kann. Konkret wird die Implementation eines einfachen Debug- und Trace Frameworks vorgestellt.

Dieses erlaubt das nachträgliche instrumentieren von Klassen-Methoden, um eine selektive Ablaufverfolgung von Methodenaufrufen auf Objekten ermöglicht. Dies wird erreicht, ohne das diese Debug Aufrufe im normalen Quellcode erscheinen oder bei nicht Benutzung Performance Auswirkungen haben.