|
楼主 |
发表于 2024-4-10 15:35:03
|
显示全部楼层
class PropertyL:
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)
def getter(self, func):
self.fget = func
return self
def setter(self, func):
self.fset = func
return self
def deleter(self, func):
self.fdel = func
return self
是不是通过装饰器 修改了 self.fget self.fset self.fdel 属性值并将其变成了函数?
再去执行对拦截对象属性的读取、写入和删除操作的是
def __get__(self, instance, owner):
def __set__(self, instance, value):
def __delete__(self, instance):
是上面这三个?
def getter(self, func):
def setter(self, func):
def deleter(self, func):
还是什么这三个?
@FishC |
|