python中__setattr__的屬性設定
1、說明
定義類物件管理屬性並將屬性名以及值儲存在一個例項物件中。
self.attrname 以及 instance.attrname 將會呼叫類的內建方法__setattr__方法。
2、例項
# attr.pyclass AcessControl: def __init__(self): self.hobby = "basketball" # 會呼叫下面的__setattr__方法 def __setattr__(self, key, value): # self.name = "xxxx" # 不能在__setattr__上使用self.attr,會導致遞回應用迴圈 print("access control set attr ...") if key == 'age': self.__dict__[key] = value + 10 # 透過內建字典來儲存屬性資料 else: self.__dict__[key] = value def __delattr__(self, item): print("del item[%s]" % item) def __getattr__(self, item): print("get item[%s]" % item) def test_access_control(): ac = AcessControl() ac.age = 10 # 呼叫__setattr__ print(ac.age) # 直接輸入值,沒有呼叫__getattr__ print(ac.hobby) # 當屬性有值時,也就是非None是不會呼叫__getattr__方法的,如果沒有值,即None就會呼叫__getattr__方法 del ac.age # 呼叫__delattr__ print(ac.name) # 呼叫__getattr__,呼叫未定義的屬性時候就會回撥這個函式並且返回Noneif __name__ == '__main__': test_access_control()>>> python attr.py # 2.x & 3.x
以上就是python中__setattr__的屬性設定,希望對大家有所幫助。更多Python學習指路:
本文教程操作環境:windows7系統、Python 3.9.1,DELL G3電腦。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/810/viewspace-2830352/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Echarts中Option屬性設定Echarts
- Python的tkinter獲取元件屬性和設定元件屬性Python元件
- sping中 schemaLocation 屬性設定
- Python中的屬性Python
- Python 訪問和設定私有屬性Python
- WPF中Dependency屬性設定順序的心得
- 表屬性設定
- JavaScript設定屬性JavaScript
- Python 中的 property 屬性Python
- jQuery設定disabled屬性與移除disabled屬性jQuery
- Xcode設定自己的個性屬性XCode
- Cookie設定HttpOnly屬性CookieHTTP
- CSS中常用的屬性設定CSS
- Gradle的屬性設定大全Gradle
- Python物件導向基礎:設定物件屬性Python物件
- python中的屬性認識Python
- 行內元素屬性設定
- 執行緒屬性設定執行緒
- jquery設定href屬性值jQuery
- jQuery如何設定元素的屬性值jQuery
- 原生javascript如何設定元素的屬性JavaScript
- DW屬性設定的總結 (轉)
- C#反射設定屬性值和獲取屬性值C#反射
- view向全屏延伸時的屬性設定View
- jquery設定和獲取元素的屬性jQuery
- SAP BW Dimension 設定的兩個屬性
- AppTheme屬性設定集合APP
- jQuery - 設定內容和屬性jQuery
- Android activity屬性設定大全Android
- Python - 物件導向程式設計 - 公共屬性、保護屬性、私有屬性Python物件程式設計
- Vivado使用技巧(24):HDL/XDC中設定綜合屬性
- HTML5中div常用屬性設定(外鏈式)HTML
- Python 中的引用和類屬性的理解Python
- 在Excel2010中設定圖片屬性Excel
- Python 類的屬性與例項屬性Python
- js如何獲取給定屬性的屬性值JS
- 類屬性設定與修飾詞
- 如何優雅的設定UI庫元件的屬性?UI元件