【发布时间】:2013-05-23 10:50:21
【问题描述】:
我试图用谷歌搜索一些关于它的东西。为什么非数据描述符适用于旧式类?
文档说他们不应该:
“Note that descriptors are only invoked for new style objects or classes (ones that subclass object() or type()).”。
class Descriptor(object):
def __init__(self):
self.x = 1
def __get__(self, obj, cls=None):
return self.x
class A:
x = Descriptor()
a = A()
a.x
>>> 1
谢谢。
【问题讨论】:
-
因为'Descriptor'是一个新式类。
标签: python class descriptor