请问python描述符property中的self.fget(instance)怎么理解

classMyproperty:def__init__(self,fget=None,fset=None,fdel=None):self.fget=fgetself.fs... 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)
self.fget是属性,为什么后面会能加括号,我无法理解
展开
 我来答
10ve辉
2017-11-21 · TA获得超过179个赞
知道答主
回答量:122
采纳率:0%
帮助的人:30.2万
展开全部
self.fget等价于 __init__(self,fget=None,fset=None,fdel=None) 方法中的 fset参数
==================看这下面=================================
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)
执行上面的语句后self.fget就等于类C里的getX
self.fget(instance)等价于调用C里的getX(instance)方法
===========我是新手刚看到这如有兴趣可共同学习================
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光的雷咩咩
2017-10-13 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7952万
展开全部
说明fget是一个方法嘛
追问
没有定义fget()方法,为什么能用,还是fget()是python内置本来就有的函数?
追答
是构造函数的一个参数,你看怎么调用的嘛
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式