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)