我是新來的Python,雖然單元測試我的對象上的一些方法,我注意到一些'怪異'。Python:調用方法'直接'實例化對象嗎?
class Ape(object):
def __init__(self):
print 'ooook'
def say(self, s):
print s
def main():
Ape().say('eeek')
if __name__ == '__main__':
main()
我寫了這個小例子來說明我困惑的地方。如果你做Ape()。say('eeek')這是否實際實例化一個Ape對象並運行init方法?我認爲它不會,但我有一些奇怪的副作用,所以現在我想它的確如此?
感謝掃清事情了。我猜Ape()會立即收集垃圾文件,因爲沒有任何地方提及它? – Pickels 2010-07-08 02:47:33
@皮卡:它馬上變得無法訪問,所以它應該立即被垃圾收集,是的。或者它可能會停留在無法訪問的內存空間中,直到Python解釋器決定要回收空間爲止;-) – 2010-07-08 02:56:54