class Person:
# 當我們通過 "實例.屬性 = 值", 給一個實例增加一個屬性, 或者說, 修改一下屬性值的時候, 都會調用這個方法
# 在這個方法內部, 才會真正的把, 這個屬性, 以及對應的數(shù)據, 給存儲到__dict__字典里面
def __setattr__(self, key, value):
print(key, value)
# 1. 判定, key, 是否是我們要設置的只讀屬性的名稱
if key == "age" and key in self.__dict__.keys():
print("這個屬性是只讀屬性, 不能設置數(shù)據")
# 2. 如果說不是, 只讀屬性的名稱, 真正的給它添加到這個實例里面去
else:
# 這種賦值操作會出現(xiàn)重復調用 __setattr__方法,出現(xiàn)死循環(huán)
# self.key = value
self.__dict__[key] = value
p1 = Person()
p1.age = 18
# p1.name = "sz"
# print(p1.age)
print(p1.age)
p1.age = 999
print(p1.age)
print(p1.__dict__)
2020-03-20
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關閱讀更多精彩內容
- 今天一個下午都用來輔導兒子寫作文,剛開始他說太難,不會寫,然后開始發(fā)脾氣,徹底罷工,大哭起來。想到我手邊還有一堆事...