我想弄清楚什麼時候python對象是垃圾收集的候選人。我已經閱讀了一些文件/帖子,一直未能找到明確的答案。什麼時候python對象是垃圾收集的候選對象?
舉例如下一行。這是foo的最後一個參考。 foo指向的對象何時可用於垃圾收集?
ret = func(['xyz: ' + foo.name])
斷裂下來的(可能的)各個步驟:創建
- 臨時參考名稱。
- 'xyz:'與名稱和值連接返回。
- 列表是使用新字符串創建的。
- 函數被調用新數組。
- 函數返回。
- 結果被分配給ret。
- 下一個指令......
之間其中在物先資格被收集兩步?對象的引用計數何時遞減?
如果步驟列表不完整/不正確,請讓我知道。我只是試圖列舉它們給出可能的參考答案的共同起點。
這裏沒有陣列。有一個列表。 –
您可能會發現這個PyCon講話很有用 - 他談論了PyCon垃圾回收模型以及如何調試和分析Python的內容:http://www.youtube.com/watch?v=6jD34p8PokU –
謝謝@RachelSanders!本視頻將回答這個問題。如果你想提供答案,我會標記它。這裏是特定時間的鏈接。 http://www.youtube.com/watch?feature=player_detailpage&v=6jD34p8PokU#t=1020s – Dillon