Python的内存不需要程序员去手动管理,Python有自己的内存管理机制:引用计数和垃圾收集。
1.引用计数
Python内部记录着所有使用中的对象的个数。对象的引用计数增加的情况有:
a.对象被创建
x = "create"
b.对象的另外的引用别名被创建
y = x
c.对象的引用作为参数传递
fun(x)
d.对象的引用作为容器对象的
list = ["123", x]
对象引用减少的情况的有:
a.对象的别名被显示的销毁
del x
b.一个本地引用离开了其作用范围。如函数调用结束后,局部变量都会被销毁
c.对象的一个别名被赋值给其他的对象
x = "asdf"
d.对象被从一个窗口对象中移除
list.remove(x)
e.窗口对象本身被销毁
del list
2.垃圾收集
不再被使用的内存会被Python的垃圾收集的机制释放。解释器跟踪对象的引用计数,垃圾收集器负责释放内存。