我使用无关键字删除类对象。
class demo:
class members
obj= demo()
some processing
obj=None
使用无,会释放内存吗?
我发现 del 也可用于删除类对象。或者我应该使用
del obj
释放内存?
在删除类对象和释放内存或调用垃圾回收时使用 del和None 有什么区别?
答案 0 :(得分:5)
当没有对该对象的引用时,将释放Python对象。
将obj
重新绑定到None
会减少对象的引用计数,del obj
也会如此。在两种情况中,如果obj
是最后一次引用,则该实例将被清除。
不同之处在于您之后如何使用obj
。重新绑定会保留变量(现在绑定到None
),del
将其完全删除,您将获得NameError
。你选择的是你的选择,它不会影响实例从内存中清除的方式。