Как передать аргументы метаклассу из определения класса?
Я пытаюсь динамически генерировать классы в 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()
Есть ли более чистый способ сделать это?