请教描述符一章中的self.fget(instance)怎么理解?
请问,这里的 self.fget(instance)是get 函数?还有后面的self.fset(instance,value)怎么理解呢class myypro:
def __init__(self,fget = None,fset = None,fdel = None):
self.fget = fget
self.fset = fset
self.fdel = fdel
def __get__(self,instance,owner):
print('动静のget')
return self.fget(instance)
def __set__(self,instance,value):
print('有点动静のset')
self.fset(instance,value)
def __delete__(self,instance):
print('一不小心9删掉了')
self.fdel(instance)
class C:
def __init__(self):
self.xx = None
def getx(self):
return self.xx
def setx(self,value):
self.xx = value
def delx(self):
del self.xx
x = myypro(getx,setx,delx) 我个人是这么理解的:
self.fget(instance)、self.fset(instance,value)在这里是为了模块化的写法;
self.fget(instance)获取本身输出的然后return出来;
self.fset(instance,value)的到从外部输出的然后输入到内部;
其中fget与fset都是对象的函数! 我还不明白这个,而且self.fget不是实例属性吗?为什么又变成了方法咧?
页:
[1]