Jak przekazać argumenty do metaklasy z definicji klasy?
Próbuję dynamicznie generować klasy w pythonie 2.7 i zastanawiam się, czy można łatwo przekazać argumenty do metaklasy z obiektu klasy.
Przeczytałemto post, który jest niesamowity, ale nie odpowiada na pytanie. w tej chwili robię:
def class_factory(args, to, meta_class):
Class MyMetaClass(type):
def __new__(cls, class_name, parents, attrs):
attrs['args'] = args
attrs['to'] = to
attrs['eggs'] = meta_class
class MyClass(object):
metaclass = MyMetaClass
...
ale to wymaga ode mnie następujących czynności
MyClassClass = class_factory('spam', 'and', 'eggs')
my_instance = MyClassClass()
Czy jest na to czystszy sposób?