python - 類的內置 attr 方法


類的內置 attr 方法

#類的內置 attr 方法:
# __getattr__
# __setattr__
# __delattr__

# __getattr__
#到調用一個類不存在數參數時,將執行__getattr__內置方法
class test():
    def __init__(self,num):
        self.num = num
    def __getattr__(self, item):
        return "getattr 執行~~~~"
    def __delattr__(self, item):
        print( "delattr執行.....")
    def __setattr__(self, key, value):
        super().__setattr__(key,value)
        print("setattr執行.....")
t1 = test('dsadsa')

# __getattr__
# #類中存在的屬性訪問!
print(t1.num)
# #類中不存在的屬性訪問,執行__getattr__
print(t1.xxxx)

# # __delattr__
# #在刪除一個類屬性的時候,執行delattr操作(即使不存在的數值,也會執行)
# 本質是:
#    def __delattr__(self,item):
#         self.__dict__.pop(item)
del t1.num
del t1.xxx

# __setattr__
# 在類被實例化以及設置新的屬性參數的時候將會執行
# 本質是:
#    def __setattr__(self, key, value):
#         self.__dict__[key] = value
# 將屬性添加到類的__dict__字典內
# 若這個方法被修改后,將影響__dict__添加屬性
t2 = test("sssssss")
print(t2.__dict__)
t1.num = "2333"

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM