Python编程中一般无须关心变量存亡,也不用关心内存管理。Python使用引用计数记录所有对象的引用数,当对象引用数变为0,它就会被垃圾回收GC。
计数增加:
- 赋值给其它变量就增加引用计数
- 实参传参
计数减少:
- 函数运行结束,局部变量就会被自动销毁,对象引用计数减少
- 变量被赋值给其它对象
import sys
x = [] # 引用计数为1
print(sys.getrefcount(x)) # 引用计数为2,函数调用加1,用完减1
y = x
print(sys.getrefcount(x)) # 引用计数为3
这个计数机制 在实际使用中存在一定的局限性
实际没怎么用到,就是作为理解用