暂无 |

对象生命周期 Object Lifecycle

当对象被销毁时,分配给它的内存被释放,并且可以用于其他目的。 当一个对象的引用计数达到零时,就会发生一个对象的破坏。引用计数是指引用对象的变量和其他元素的数目。 如果没有任何东西引用它(它有一个引用计数为零),任何东西都不能与之交互,因此它可以被安全地删除。
在某些情况下,两个(或多个)对象只能相互参照,因此也可以被删除。 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这样的低级语言没有这种自动内存管理。.

0

发表评论

    评价:
    验证码: 点击我更换图片
    最新评论