この記事では、Pythonでオブジェクトの参照数を確認する方法を解説します。
オブジェクトの参照数を確認するにはsys
モジュールのgetrefcount()
関数を使います。
import sys
sys.getrefcount(object)
試しに適当なクラスの参照数を確認してみます。
import sys
# 適当なクラス
class MyClass:
pass
# インスタンス化
mc = MyClass()
# 参照数を出力
print(sys.getrefcount(mc))
# さらにリストからmcを参照し、
l = [mc, mc]
# 参照数を出力
print(sys.getrefcount(mc))
実行結果
2
4
リスト内で2回参照しているので参照数が4に増えているのがわかります。