Python PR

【Python】オブジェクトの参照数を確認する

記事内に商品プロモーションを含む場合があります

この記事では、Pythonでオブジェクトの参照数を確認する方法を解説します。

オブジェクトの参照数を確認するにはsysモジュールのgetrefcount()関数を使います。

import sys sys.getrefcount(object)
一時的にgetrefcount()関数からも参照されるので返される参照数は余分に1つ多くなっています

試しに適当なクラスの参照数を確認してみます。

import sys # 適当なクラス class MyClass: pass # インスタンス化 mc = MyClass() # 参照数を出力 print(sys.getrefcount(mc)) # さらにリストからmcを参照し、 l = [mc, mc] # 参照数を出力 print(sys.getrefcount(mc))

実行結果

2 4

リスト内で2回参照しているので参照数が4に増えているのがわかります。