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

时间:2015-03-27 10:59:03

标签: python class python-2.7 object memory

我使用无关键字删除类对象。

 class demo:
   class members

 obj= demo()
 some processing
 obj=None

使用,会释放内存吗?

我发现 del 也可用于删除类对象。或者我应该使用

   del obj

释放内存?

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

1 个答案:

答案 0 :(得分:5)

当没有对该对象的引用时,将释放Python对象。

obj重新绑定到None会减少对象的引用计数,del obj也会如此。在两种情况中,如果obj是最后一次引用,则该实例将被清除。

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