|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
关于描述符中小甲鱼的代码- class MyProperty:
- def __init__(self,fget=None,fset=None,fdel=None):
- self.fget=fget
- self.fset=fset
- self.fdel=fdel
- def __get__(self,instance,owner):
- return self.fget(instance)
- def __set__(self,instance,value):
- self.fset(instance,value)
- def __delecet__(self,instance):
- self.fdel(instance)
- class C:
- def __init__(self):
- self._x=None
- def getX(self):
- return self._x
- def setX(self,value):
- self._x=value
- def delX(self):
- del self._x
- x=MyProperty(getX,setX,delX)
- c=MyProperty()
复制代码
这个fget fset fdel 都是什么意思 而且后面还带参数??不懂 求大佬看看
这个fget fset fdel 都是什么意思 而且后面还带参数??
这里是 __init__ 方法定义的参数,后面的 None 是空的意思,只是设置这个参数在没有设置传入参数时候的默认值
比如这里的 fget fset fdel 对应接收这里的 x=MyProperty(getX,setX,delX) 传入的函数
所以在描述符内就可以直接通过调用 fget fset fdel 来调用 C类中的 getX setX delX 方法
|
|