我定义了两个类,如下所示:
class ClassModel(object):
pass
class FunctionModel(object):
attr = None
def __call__(self):
return self.attr
这个想法是创建多个副本ClassModel
,每个副本包含零个或多个继承自的方法,每个副本FunctionModel
都应该有自己的属性。
我很适合创建ClassModel
and的孩子FunctionModel
。但是我没有成功地附加这两者,以便在ClassModel
实例化 的子级时,派生自FunctionModel
其附加到它们的类函数对象被 Python 识别为它们的方法。
走着瞧吧
>>> func = type('func', (FunctionModel,), {'attr': 'someattr'})
>>> func_inst = func()
>>> func_inst
<__main__.func object at 0x968e4ac>
>>> Cls = type('Cls', (ClassModel,), {'func_inst': func_inst})
>>> cls_inst = Cls()
>>> cls_inst.func_inst
<__main__.func object at 0x968e4ac>
我该怎么办?