【发布时间】:2013-11-07 06:55:28
【问题描述】:
我有一个dict() 的指针,我会不断更新它,就像这样:
def creating_new_dict():
MyDict = dict()
#... rest of code - get data to MyDict
return MyDict
def main():
while(1):
MyDict = creating_new_dict()
time.sleep(20)
我知道 MyDict 是指向 dict 的指针,所以我的问题是 MyDict 中的旧数据会发生什么?
它是被删除还是我应该确保它消失了?
【问题讨论】:
-
我们通常说“参考”,避开粗俗的 P 词。旧的
dict那时可用于垃圾收集,所以现在不是,但在将来的某个时间,它会被收集。 -
实际上在 CPython 中,由于对象的引用计数下降到零,它会立即被收集。不过,对于其他实现而言,这可能并非如此。
-
@kindall 是的,我在回答中提到了这一点。
标签: python python-3.x dictionary