データ記述子をテストするためのこのコードがあります
class DataDescriptor(object):
def __init__(self):
self.value = 1990
def __get__(self,obj,cls):
print "__get__ in Data descriptor"
return self.value
def __set__(self,obj,value):
self.obj = value
print "__set__ in Non Data Descriptor"
def __del__(self,obj):
print "__del__ in Non Data Descriptor"
del self.obj
class NonDataDescriptor(object):
def __get__(self,obj,cls):
print "__get__ in Non Data descriptor"
class C(object):
dd = DataDescriptor()
ndd =NonDataDescriptor()
def __init__(self):
self.__value = 1
cobj = C()
cobj.dd
それを実行すると、printステートメントしか表示されませんが、get関数で引退した実際の値は表示されません
私の出力はこれだけです
__get__ in Data descriptor