如何实现Porperty装饰器?-创新互联

今天简单的实现下Porperty装饰器
demo:

创新互联从2013年创立,是专业互联网技术服务公司,拥有项目做网站、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元临高做网站,已为上家服务,为临高各地企业和个人服务,联系电话:13518219792
class Porperty:
   def __init__(self, fget= None, fset= None, fdel = None):
     self.fget= fget
     self.fset = fset
     self.fdel = fdel
   def __get__(self, instance, cls):
     if instance is None:
       return self
     if not callable(self.fget):
       raise AttributeError
     return self.fget(instance)
   def __set__(self, instance, value):
     if not callable(self.fset):
       raise AttributeError
     return self.fset(instance, value)
   def __delete__(self, instance):
     if not callable(self.fdel):
       raise AttributeError
     return self.fdel(instance)
   def setter(self, fset):
     self.fset = fset
     return self.fset
   def deleter(self, fdel):
     self.fdel = fdel
     return self.fdel
class A:
   def __init__(self,x):
     self._x = x
   @Porperty
   def x(self):
     return self._x

a =A(4)
a.x
a.x = 123

class A:
   def __init__(self,x):
     self._x = x
   @Porperty
   def x(self):
     return self._x
   @x.setter
   def set_x(self, value):
     self._x = value
a = A(5)
a.x
a.x = 7

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:如何实现Porperty装饰器?-创新互联
网站路径:http://hbruida.cn/article/cdeiop.html