小小鹏 发表于 2020-8-19 11:37:57

魔法方法

class Counter:
      def __init__(self):
                self.counter = 0
      def __setattr__(self, name, value):
                self.counter += 1
                super().__setattr__(name, value)
      def __delattr__(self, name):
                self.counter -= 1
                super().__delattr__(name)

请问一下这段代码哪里有问题吗

zltzlt 发表于 2020-8-19 11:39:58

这样即可

class Counter:
    def __init__(self):
      super().__setattr__('counter', 0)

    def __setattr__(self, name, value):
      super().__setattr__('counter', self.counter + 1)
      super().__setattr__(name, value)

    def __delattr__(self, name):
      super().__setattr__('counter', self.counter - 1)
      super().__delattr__(name)

小小鹏 发表于 2020-8-19 12:01:02

zltzlt 发表于 2020-8-19 11:39
这样即可

谢谢知道啦!
页: [1]
查看完整版本: 魔法方法