微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

 

垃圾回收

内存池机制

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐