2012-03-28 58 views
2

如何在类已定义后关联描述符?Python元描述符元编程:如何在类定义之后添加描述符?

在正常情况描述我只是这样做:

class X: 
    d = Descriptor() 

,然后每当Descriptor.__get__(self,obj,kls)被调用时,第二个参数是X一个实例和所有快乐和美好。

但是如果X已经定义,像这样:

class X: pass 

如何再添加在事后的描述符(并让它正常工作!)?我所有的尝试都没有得到正确的关联

我这样做因为我有一堆属性,我想以DRY的方式添加,我希望它们是cached_properties(我使用的描述符以记忆它们中的每一个的值)

回答

3
X.d = Descriptor() 

这就是你所需要的。

+0

*打额头*谢谢! – prior 2012-03-28 21:25:53