1
好奇心の念で、私は参照カウントがPythonでどのように機能するかを理解しようとしています。これらの2つのエントリ:参照カウントについてまだ混乱しています
- Why are Python Ref Counts to small integers surprisingly high?
- Is there a way to get the current ref count of an object in Python?
は便利だったが、それでも疑問を提起しました。 sys.getrefcount()
戻りlen(gc.get_referrers())
は異なる値を使用
。例:
>>> a = 3 >>> print sys.getrefcount(a) 38 >>> print len(gc.get_referrers(a)) 23
なぜ違いますか?
私はそれを理解したように私はそれに名前
a
をバインド時に3
の整数値を保持するオブジェクトがすでに存在するため、a
の参照カウントが非常に高いです。どのオブジェクトが3
を保持しているかをPythonがどのように追跡して、名前にa
をバインドし、それに応じて参照カウントをインクリメントするのですか?