python獲取引用對象的個數

可以使用python中的sys模塊的getrefcount()方法來獲取對象引用的個數。

具體可以看以下的實例

import sys # 首先導入sys模塊

class Dog: # 定義 Dog 類
    pass

dog = Dog() # 創建一個dog對象
print(sys.getrefcount(dog)) # 打印對象的引用個數

輸出結果:

>>>PS C:\Users\pierre\Desktop> python .\test.py
>>>2

這裏可以看到統計的結果要比實際的引用個數多一個,這是因爲getrefcount()方法要接收一個對象的引用作爲參數,因此引用個數又增加了一個。

再添加一個指向dog的引用:

import sys

class Dog:
    pass

dog = Dog()
dog2 = dog  #添加一個指向dog的引用
print(sys.getrefcount(dog))

輸出結果:

>>>PS C:\Users\pierre\Desktop> python .\test.py
>>>3

可以看到引用數多了一個。

 

                                                   關注我的微信公衆號免費獲取海量python視頻教程!!!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章