当对象被销毁时,分配给它的内存被释放,并且可以用于其他目的。
当一个对象的引用计数达到零时,就会发生一个对象的破坏。引用计数是指引用对象的变量和其他元素的数目。
如果没有任何东西引用它(它有一个引用计数为零),任何东西都不能与之交互,因此它可以被安全地删除。
在某些情况下,两个(或多个)对象只能相互参照,因此也可以被删除。
DEL语句将对象的引用计数减少一个,这常常导致其删除。
DEL语句的神奇方法是 __del__。
删除不再需要的对象的过程称为垃圾回收。
总之,当对象被分配了新的名称或被放置在容器(列表、元组或字典)中时,对象的引用计数就会增加。当用del删除对象、重新分配其引用或引用超出范围时,对象的引用计数会减少。当对象的引用计数达到零时,Python会自动删除它。
例如:
a = 42 # 创建对象 <42>
b = a # 增加对象指向 <42>
c = [a] #f增加对象指向 <42>
del a # Decrease ref. count of <42>
b = 100 # Decrease ref. count of <42>
c[0] = -1 # Decrease ref. count of <42>
像C这样的低级语言没有这种自动内存管理。.