菜鳥容易中的招__setattr__


class Counter:
        def __init__(self):
                self.counter = 0 # 這里會觸發 __setattr__ 調用
        def __setattr__(self, name, value):
                self.counter += 1
“””既然需要 __setattr__ 調用后才能真正設置 self.counter 的值,所以這時候 self.counter 還沒有定義,所以沒法 += 1,錯誤的根源。”””
                super().__setattr__(name, value)
        def __delattr__(self, name):
                self.counter -= 1
                super().__delattr__(name)

 


免責聲明!

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



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