Python 如何在处理完 class 对象后释放内存?
Python how to release the memory for class object after processing it?
我使用 None 关键字删除一个 class 对象。
class demo:
class members
obj= demo()
some processing
obj=None
使用None,内存会被释放吗?
我发现del也可以用来删除一个classobject.Or我应该用
del obj
要释放内存?
使用del和None删除class对象和释放内存或调用垃圾回收有什么区别?
Python 当不再有对对象的引用时,对象被释放。
将 obj
重新绑定到 None
会减少对象的引用计数,del obj
也会减少。在两种情况下,如果obj
是最后一次引用实例,实例将被清除。
不同之处在于之后如何使用 obj
。重新绑定保留变量(它现在绑定到 None
),del
将其完全删除,你会得到一个 NameError
。你选择什么是你的选择,它不会影响实例从内存中清除的方式。
我使用 None 关键字删除一个 class 对象。
class demo:
class members
obj= demo()
some processing
obj=None
使用None,内存会被释放吗?
我发现del也可以用来删除一个classobject.Or我应该用
del obj
要释放内存?
使用del和None删除class对象和释放内存或调用垃圾回收有什么区别?
Python 当不再有对对象的引用时,对象被释放。
将 obj
重新绑定到 None
会减少对象的引用计数,del obj
也会减少。在两种情况下,如果obj
是最后一次引用实例,实例将被清除。
不同之处在于之后如何使用 obj
。重新绑定保留变量(它现在绑定到 None
),del
将其完全删除,你会得到一个 NameError
。你选择什么是你的选择,它不会影响实例从内存中清除的方式。