###pythonのガーベジコレクションについて
pythonの言語仕様を理解していない質問かもしれませんがご容赦ください。
pythonでgcモジュールを使って手動でガーベジコレクションを行うときに循環参照時の動作確認を行うとき以下のようなコードを書くと思います。
python
1import gc 2 3class A: 4 def __del__(self) 5 print('call __del__') 6 7test=[A()] 8test[0].test=test 9del test 10gc.collect() 11# => 3
となると思うのですがこのときガーベジコレクションに送られるオブジェクトの数が3になる理由はなんでしょうか?
上の例ではclass Aのインスタンスtest[0],test[0].test[0]は全て同じインスタンスを参照しているわけではないのでしょうか?
詳しい方ご教授願いたいと思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/12/06 11:46