Ich habe auf diese Weise Kurse in Python gehackt:
def hack(f,aClass) :
class MyClass(aClass) :
def f(self) :
f()
return MyClass
A = hack(afunc,A)
Das sieht für mich ziemlich sauber aus. Es nimmt eine Klasse A, erstellt eine neue, davon abgeleitete Klasse, die eine zusätzliche Methode hat, die f aufruft, und ordnet die neue Klasse dann wieder A zu.
Wie unterscheidet sich dies vom Metaklassen-Hacking in Python? Was sind die Vorteile der Verwendung einer Metaklasse über das hier?