Python获取对象的应用个数

在Python中获取对象的应用个数是使用sys模块。如下:

In [1]: class Myclass:
   ...:     pass
   ...:

In [2]: c = MyClass()
------------------------------------------------
NameError                                 Traceb
 in ()
----> 1 c = MyClass()

NameError: name 'MyClass' is not defined

In [3]: c = Myclass()

In [4]: import sys

In [5]: sys.getrefcount(c)
Out[5]: 2

In [6]:

当前对象c只有一个变量应用就是他自己,那么输出是2的原因则是在调用sys.getrefcount方法时c当然实参传给了getrefcount方法的形参,此时就多了一个。那么实际的个数就是sys.getrefcount(c)-1

你可能感兴趣的:(Python)