今天簡單的實現下Porperty裝飾器
demo:
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裝飾器?-創新互聯
URL分享:http://vcdvsql.cn/article8/cdeiop.html
成都網站建設公司_創新互聯,為您提供用戶體驗、App設計、網站設計、App開發、網站排名、網站導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯