如果我创建一个类的实例而不将其分配给变量,那么每次运行代码时它是否会占用内存?或者在执行包含实例的代码行之后,内存是否会释放?
例如:

class TestClass():
    def __init__(self):
        self.Moto = "Moto"
    def printIt(self):
        print self.Moto

所以如果我这样使用它:
TestClass().printIt()

每次执行行时,它是否占用越来越多的内存?

最佳答案

不,实例将被自动垃圾回收确切的机制取决于python实现。CPython使用引用计数,并在TestClass().printIt()结束时释放实例。
但是,如果要保留对新构造对象的一个或多个引用,则只要该对象被引用,它就会保持活动状态。

关于python - 没有变量分配的Python类实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13566476/

10-09 20:17
查看更多