Python内存管理

Python内存管理

在C中,int a=1和int b=a会分别分配两个内存地址,但在Python中,它只会分配一个。

这就是传说中Python的引用计数。对于int, str,float,你新建一个对象,只要值相等,Python只会给这个对象增加一个引用。Python的垃圾回收算法跟引用计数也有关系,即当一个对象引用数为0时,则该内存会被回收。

但是set, list等复杂的数据结构不是这样。

 

Python的内存管理是通过一个基于操作系统级内存管理器的private heap来做的。当然,在Python中,用户无权对这个private heap进行管理,会由Python解释器来完成这部分工作。

 

Ref:

  1. deeplearning.net

  2. Python docs

发表评论

电子邮件地址不会被公开。 必填项已用*标注