python sys.getrefcount()方法返回对象引用数量
sys.getrefcount()方法
python标准库sys中的方法getrefcount()可以用于返回参数指定的对象object被引用的数量。python中每个对象都有被引用的统计。计算机编程语言通过对象的引用数量来判断对象是否可以被回收,对象占用的内存空间是否可以被释放,一般情况下,当对象的引用数量为0时,该对象可以被回收。
引用计数的原理
当对象被新的对象引用,引用计数将加1,如果引用失效,计数将减去1。除此之外,一般情况下,通过sys.getrefcount()返回的引用统计会被实际的多1。
参数
python对象object。
返回值
python的int整数类型。
sys.getrefcount()实例代码
下方的实例中,将新建一个类A来展示该方法:
>>> import sys
>>> class A():
... pass
...
>>> a = A()
>>> sys.getrefcount(a)
2
>>> b = a #新引用
>>> sys.getrefcount(a) #a的引用加1
3
>>> sys.getrefcount(b)
3
>>> del b #b的引用失效
>>> sys.getrefcount(a) #a的引用减去1
2