class example:
def exampleMethod(self):
aVar = 'some string'
return aVar
在这个例子中,在每次调用 example.exampleMethod() 之后垃圾收集如何工作?一旦方法返回,aVar 会被释放吗?
最佳答案
变量永远不会被释放。
对象(在这种情况下是一个字符串,值为 'some string'
一次又一次地重复使用,因此该对象永远不会被释放。
当没有变量引用对象时,对象被释放。想想这个。
a = 'hi mom'
a = 'next value'
在这种情况下,当执行第二个语句时,脚本中的任何地方都不再引用第一个对象(值为
'hi mom'
的字符串)。对象 ( 'hi mom'
) 可以从内存中删除。关于python - Python 中的垃圾收集如何与类方法一起工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/843459/