Python的内存管理机制
Posted BOYE
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python的内存管理机制相关的知识,希望对你有一定的参考价值。
引入计数
在Python中,每个对象都有指向该对象的引用总数---引用计数
查看对象的引用计数:sys.getrefcount()
import sys alist=[\'a\',\'b\',\'c\'] >>> sys.getrefcount(alist) 2 >>> b=alist >>> sys.getrefcount(alist) 3
【引用计数增加】
1、对象被创建
>>> sys.getrefcount(\'abc\') 31 >>> n=\'abc\' >>> sys.getrefcount(\'abc\') 32
2、对象被引用
>>> m=n >>> sys.getrefcount(\'abc\') 33
3、作为容器对象的一个元素
>>> a=[1,12,\'abc\'] >>> sys.getrefcount(\'abc\') 34
【引用计数减少】
1、对象的别名被显式的销毁
>>> del m >>> sys.getrefcount(\'abc\')
2、对象的一个别名被赋值给其他对象
>>> n=456 >>> sys.getrefcount(\'abc\') 32
3、对象从一个窗口对象中移除,或,窗口对象本身被销毁
>>> a.remove(\'abc\') >>> sys.getrefcount(\'abc\')
31
垃圾回收
内存池机制
以上是关于Python的内存管理机制的主要内容,如果未能解决你的问题,请参考以下文章