我正在尝试使用元类来生成一个此类的对象具有实例属性的类。这是期望的结果:
class Foo:
def __init__(self):
self._var_a = None
self._var_b = None
但是;我不知道如何。这是我所拥有的:
# Emulate inbound
_regs = dict(Foo=dict(_var_a=None, _var_b=None))
class MyMeta(type):
def __new__(cls, name, bases, dct, **kwargs):
return super(MyMeta, cls).__new__(cls, name, bases, dct)
for key, val in _regs.items():
globals()[key] = MyMeta(key, (), val)
但是val
会产生类属性,因此Foo
的每个实例都会使用这些属性,而不是我试图获得所需结果的结果。