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)

 

相关文章:

  • 2021-04-17
  • 2022-03-09
  • 2022-01-06
  • 2021-12-03
  • 2021-11-28
  • 2021-07-26
  • 2022-02-16
  • 2021-07-11
猜你喜欢
  • 2022-02-16
  • 2021-12-26
  • 2021-12-18
  • 2022-12-23
  • 2022-01-17
  • 2021-08-17
相关资源
相似解决方案