2010-06-14 55 views
1

當我在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

你想返回誰? – 2010-06-14 07:29:35

回答

2

對物體破壞採取行動通常是不被接受的。 Python提供了一個__del__函數,但它在某些情況下可能不會被調用。

如果您要對計數器變量做些什麼,它會是什麼?數據在哪裏?

+0

你說得對。我做了一些閱讀。這是不好的做法。 – 2010-06-14 10:31:15