オブジェクトの参照数を確認するには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に増えているのがわかります。