相关疑难解决方法(0)

如何从类定义传递参数到元类?

我试图在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
        ...
Run Code Online (Sandbox Code Playgroud)

但这要求我做以下事情

MyClassClass = class_factory('spam', 'and', 'eggs')
my_instance = MyClassClass()
Run Code Online (Sandbox Code Playgroud)

这样做有更干净的方法吗?

python metaprogramming metaclass python-2.x

18
推荐指数
2
解决办法
9178
查看次数

标签 统计

metaclass ×1

metaprogramming ×1

python ×1

python-2.x ×1