python内存管理和垃圾回收机制
这个知识点是面试时大多都会问到的,所以在此做整理以便加强记忆。
python的内存管理机制主要是为了有针对性地提高代码性能,接下来我们就大致了解一下:
内存管理机制
从较浅的层面来说,python的内存管理有三种:
(1)引用计数;
(2)垃圾回收;
(3)内存池。
1.引用计数
在python中,每个对象都有指向该对象的引用总数——“引用计数”。引用计数是一种非常高效的内存管理手段,当一个python对象被引用时其引用计数增加1,当其不再被引用时引用计数减1,当引用计数等于0时,对象就被删除了。
光用文字表达的话可能显得有些不够直观,在此援引别的网站图片来说明:对于C语言来讲,我们创建一个变量A时就会为该变量申请一个内存空间,并将变量值放入该空间中,当将变量赋给另一变量B时会为B申请一个新的内存空间,并将变量值放入到B的内存空间中,这也是为什么A和B的指针不一致的原因。如图:
而python的情况不一样,其处理方式类似于javascript,
如图所示,变量更像是附在对象上的标签(和引用的定义类似),当变量被绑定在一个对象上的时候&#x