码迷,mamicode.com
首页 > 编程语言 > 详细

Python的内存管理机制

时间:2021-06-18 19:16:12      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:pre   port   move   ali   内存管理机制   元素   其他   内存管理   nbsp   

引入计数

在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的内存管理机制

标签:pre   port   move   ali   内存管理机制   元素   其他   内存管理   nbsp   

原文地址:https://www.cnblogs.com/boye169/p/14897428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!