Я пытаюсь динамически генерировать классы в python 2.7, и мне интересно, можете ли вы легко передать аргументы в метакласс из объекта класса.
Я прочитал эту статью, которая является удивительной, но не совсем ответила на вопрос. на данный момент я делаю:
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
...
но это требует от меня выполнения следующих
MyClassClass = class_factory('spam', 'and', 'eggs')
my_instance = MyClassClass()
Есть ли более чистый способ сделать это?