類我定義兩個類,如下所示:連接的方法的一類,而正在創建
class ClassModel(object):
pass
class FunctionModel(object):
attr = None
def __call__(self):
return self.attr
的想法是要創建的ClassModel
幾個拷貝,每一個都包含零個或多個方法繼承FunctionModel
,應該有每一個屬於自己的屬性。
我很喜歡創造ClassModel
和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>
我怎麼能去嗎?
我不知道我理解。這與預期行爲有什麼不同? – 2013-04-26 09:30:41
我在''func_inst'是一個自治函數,而不是'cls_inst'的方法,類已經被創建。 – michaelmeyer 2013-04-26 09:52:00