引入计数
在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