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 __del__(self, instance):
self.fdel(instance)
class C:
def __init__(self):
self.x = None
def getX(self):
return self._x
def setX(self):
self._x = value
def delX(self):
del self._x
x = MyProperty(getX, setX, delX)
上面是完整代码,我的问题是self.fget明明是属性(变量),为什么能传入参数 __del__是什么鬼 你在哪学的 kogawananari 发表于 2021-12-17 11:26
__del__是什么鬼 你在哪学的
__del__不是删除的方法吗 冒昧问一下,楼主你真正想问的问题是什么?{:10_260:} 清少呐 发表于 2021-12-17 11:36
__del__不是删除的方法吗
你先百度 描述符 再看看删除方法写错了没 kogawananari 发表于 2021-12-17 13:29
你先百度 描述符 再看看删除方法写错了没
我理解了,我原本想问的是为什么参数后面能加括号(如: self.fget(instance)),我现在理解了,
我知道这个代码是错的(应该是__delete__),
还有,谢谢回答我的问题.
页:
[1]