如何在销毁/清理对象实例时返回值

时间:2010-06-14 06:17:29

标签: python

当我在Python中启动一个类时,我给它一些值。然后我在类中调用方法来执行某些操作。这是一个片段:

class TestClass():
    def __init__(self):
       self.counter = 0

    def doSomething(self):
        self.counter = self.counter + 1
        print 'Hiya'

if __name__ == "__main__":
    obj = TestClass()
    obj.doSomething()
    obj.doSomething()
    obj.doSomething()
    print obj.counter

正如您所看到的,每次调用doSomething方法时,它都会打印一些文本并递增内部变量,即计数器。当我启动类时,我将计数器变量设置为0.当我销毁对象时,我想返回内部counter变量。这样做的好方法是什么?我想知道除了做以下事情之外还有其他方法:

  • 直接访问变量。像obj.counter
  • 创建getCounter
  • 等方法

感谢。

1 个答案:

答案 0 :(得分:2)

对物体破坏采取行动通常不赞成。 Python提供__del__函数,但在某些情况下可能不会调用它。

如果你要对计数器变量做些什么,它会是什么?数据会在哪里?