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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python的tkinter獲取元件屬性和設定元件屬性Python元件
- Echarts中Option屬性設定Echarts
- Python 訪問和設定私有屬性Python
- Python中的屬性Python
- 表屬性設定
- Xcode設定自己的個性屬性XCode
- Python物件導向基礎:設定物件屬性Python物件
- jQuery設定disabled屬性與移除disabled屬性jQuery
- AppTheme屬性設定集合APP
- Cookie設定HttpOnly屬性CookieHTTP
- CSS中常用的屬性設定CSS
- python中的屬性認識Python
- 行內元素屬性設定
- 執行緒屬性設定執行緒
- Python - 物件導向程式設計 - 公共屬性、保護屬性、私有屬性Python物件程式設計
- C#反射設定屬性值和獲取屬性值C#反射
- jQuery - 設定內容和屬性jQuery
- Vivado使用技巧(24):HDL/XDC中設定綜合屬性
- Python 類的屬性與例項屬性Python
- cocos 無法設定Node layer屬性
- 如何優雅的設定UI庫元件的屬性?UI元件
- 關於CSS中設定overflow屬性的值為hidden的相關理解CSS
- Python中的私有屬性與私有方法Python
- Linux下設定終端文字的顯示屬性Linux
- CSS內聯樣式的使用,設定字型屬性CSS
- CSS 與 canvas 屬性設定畫布尺寸CSSCanvas
- CSS與canvas屬性設定畫布尺寸CSSCanvas
- android -- EditText 設定 imeOptions 屬性為何失效?Android
- QT QLable屬性設定(尺寸,邊框等)QT
- 設定和獲取元素固有屬性值
- android — EditText 設定 imeOptions 屬性為何失效?Android
- A Better Finder Attributes 日期屬性設定淺析
- 搜尋框設定背景圖 通過設定placeholder屬性新增
- Python列印類的屬性Python
- Python 簡明教程 --- 20,Python 類中的屬性與方法Python
- C#給自動屬性設定預設值C#
- ts類中屬性定義的另一種方式
- python中類物件及類屬性的介紹Python物件