這篇文章主要介紹了Python中@property裝飾器原理的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
1.通過@property裝飾器,可以直接通過方法名來訪問方法,不需要在方法名后添加一對“()”小括號。
class Person: def __init__(self, name): self.__name = name @property def say(self): return self.__name xioabai = Person("xiaobai") #直接通過方法名來訪問say方法 print("我的名字是:", xiaobai.say)
我的名字是: xiaobai
上面程序中,使用@property修飾了say()方法,這就使得該方法變成了name屬性的getter方法。
2.使用setter裝飾器,可以為say方法添加setter方法。
class Person: def __init__(self, name): self.__name = name @property def say(self): return self.__name @say.setter def say(self, value): self.__name = value xiaobai = Person("xiaobai") xiaobai.say = "xiaohei" print("我的名字其實是:", xiaobai.say)
我的名字其實是: xiaohei
3.使用deleter裝飾器來刪除指定屬性,可以為say方法添加deleter方法
class Person: def __init__(self, name): self.__name = name @property def say(self): return self.__name @say.setter def say(self, value): self.__name = value @say.deleter def say(self): self.__name = "xxx" xiaobai = Person("xiaobai") del xiaobai.say print("我的名字其實是:", xiaobai.say)
我的名字其實是: xxx
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python中@property裝飾器原理的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持創新互聯成都網站設計公司,關注創新互聯成都網站設計公司行業資訊頻道,更多相關知識等著你來學習!
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、網站設計器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章題目:Python中@property裝飾器原理的示例分析-創新互聯
鏈接地址:http://m.kartarina.com/article2/cdcgoc.html
成都網站建設公司_創新互聯,為您提供建站公司、網站設計公司、自適應網站、全網營銷推廣、網站制作、App開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯