Python参考计数
示例
绝大多数Python内存管理都是通过引用计数来处理的。
每次引用对象(例如,分配给变量)时,其引用计数都会自动增加。取消引用后(例如,变量超出范围),其引用计数将自动减少。
当引用计数达到零时,对象将立即被销毁并立即释放内存。因此,在大多数情况下,甚至不需要垃圾收集器。
>>> import gc; gc.disable() #禁用垃圾收集器
>>> class Track:
def __init__(self):
print("Initialized")
def __del__(self):
print("Destructed")
>>> def foo():
Track()
#立即销毁,因为不再有任何参考
print("---")
t = Track()
#变量已被引用,因此尚未销毁
print("---")
#函数退出时销毁变量
>>> foo()
Initialized
Destructed
---
Initialized
---
Destructed为了进一步说明引用的概念:
>>> def bar():
return Track()
>>> t = bar()
Initialized
>>> another_t = t #分配另一个参考
>>> print("...")
...
>>> t = None #尚未销毁-another_t仍引用它
>>> another_t = None #最终引用不见了,对象被破坏了
Destructed
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西