如何在定义类后关联描述符?
在正常的描述符场景中,我会这样做:
class X:
d = Descriptor()
然后每当 Descriptor.__get__(self,obj,kls)
被调用时,第二个参数是 X
的一个实例,一切都很愉快和美妙。
但是如果 X
已经这样定义了呢:
class X: pass
我如何在事后添加描述符(并使其正常运行!)?我所有的尝试都没有与类(class)建立适当的联系
我这样做是因为我有一堆属性我想以 DRY 方式添加,我希望它们是 cached_properties(我用来记住每个属性的值的描述符)
最佳答案
X.d = Descriptor()
这就是您所需要的。
关于描述符的 Python 元编程 : How to add descriptor after class definition?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9915748/