Python如何在处理后为类对象释放内存呢?

tit*_*ian 5 python memory class object python-2.7

我使用None关键字删除一个类对象.

 class demo:
   class members

 obj= demo()
 some processing
 obj=None
Run Code Online (Sandbox Code Playgroud)

使用None,是否会释放内存?

我发现del也可以用来删除一个类对象.或者我应该使用

   del obj
Run Code Online (Sandbox Code Playgroud)

释放记忆?

在删除类对象和释放内存或调用垃圾收集时使用del和None有什么区别?

Mar*_*ers 8

当没有对该对象的更多引用时,将释放Python对象.

再结合objNone会降低引用计数的对象,所以会del obj.在这两种情况下,如果obj是最后一次引用,则将清除该实例.

不同之处在于你obj以后如何使用.重新绑定保留变量(它现在被绑定None),del完全删除它,你得到一个NameError.你选择的是你的选择,它不会影响实例从内存中清除的方式.