我想弄清楚什么时候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