fget、fset、fdel
fget、fset、fdel是内置函数吗?它们的作用分别是什么 你确定你问的是 python 吗? isdkz 发表于 2022-4-16 19:42你确定你问的是 python 吗?
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 __delete__(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)
本帖最后由 isdkz 于 2022-4-16 19:54 编辑
墨羽鱼 发表于 2022-4-16 19:46
class MyProperty:
def __init__(self, fget=None, fset=None, fdel=None):
self.fget = f ...
那里的fget、fset、fdel就只是描述符 MyProperty 的属性而已,
也就是初始化描述符的时候传进去的函数 isdkz 发表于 2022-4-16 19:52
那里的fget、fset、fdel就只是描述符 MyProperty 的属性而已,
也就是初始化描述符的时候传进去的函 ...
return self.fget(instance)
这里是什么意思呢?看不懂 不要自己瞎搞了。。先去看看官方给出的 几个简单例子吧,怎么用“描述符”。。https://docs.python.org/3/howto/descriptor.html
页:
[1]