您好,登錄后才能下訂單哦!
這篇文章主要介紹python中重載__setattr__引起__dict__變化是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
在程序中修改某一部分會影響結果的改變,這是因為局部的改變的波動到了整體。setattr函數則是因為屬性的改變才引起了它的運行,我們可以把setattr函數看作是檢驗屬性變化的一種工具,因為一旦屬性有變化,setattr函數是會自動發揮作用的。
1.說明
setattr函數和getattr函數是對應的。一個設置對象的屬性值,一個獲取對象屬性值。
2.參數
object -- 對象。
name -- 字符串,對象屬性。
value -- 屬性值。
3.返回值
無。
4.實例
class Fun: def __init__(self): self.name = "Liu" self.age = 12 self.male = True def __setattr__(self, key, value): print("*"*50) print("setting:{}, with:{}".format(key[], value)) print("current __dict__ : {}".format(self.__dict__)) # 屬性注冊 self.__dict__[key] = value fun = Fun()
由于每次類實例進行屬性賦值時都會調用__setattr__(),所以可以重載__setattr__()方法,來動態的觀察每次實例屬性賦值時__dict__()的變化。Fun類重載了__setattr__()方法,并且將實例的屬性和屬性值作為__dict__的鍵-值對。
以上是“python中重載__setattr__引起__dict__變化是什么”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。