Categories: Python

【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に増えているのがわかります。

ゆうまる

独学でプログラミングを勉強しているおじさん。いろんな言語を勉強したが浅く広くなためあまり仕事につながらない。また忘れっぽいため自分のブログを備忘録としても使っている。産まれてこのかたずっとネコを飼ってる生粋のネコ派。最近お腹が出てきて筋トレに奮闘中!

Recent Posts

【Dart】コンストラクタのデフォルト引数について

Dartのコンストラクタのデフォルト引数…

2週間 ago

【Unity】有料アセットを無料で手に入れる方法

この記事では、Unityの有料アセットを…

4か月 ago

【Python】任意の秒数だけ処理を一時停止する方法【sleep()関数】

この記事では、Pythonで任意の秒数だ…

1年 ago

【Python】Wordの文書の新規作成と読み書き

この記事では、Pythonを使ってWor…

1年 ago

【Python】メタクラスって結局なんなの?

この記事では、Pythonのメタクラスに…

1年 ago