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
最短3か月でエンジニア転職『DMM WEBCAMP COMMIT』