您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

我何时应该在python中使用del?

我何时应该在python中使用del?

永远不要,除非您对内存非常紧张并且要做的事情非常庞大。如果您正在编写常规程序,则垃圾收集器应该处理所有事情。

如果要编写大量的东西,应该知道del不会删除对象,而只是取消引用它。即变量不再是指对象数据在内存中的存储位置。之后,它仍然需要由垃圾收集器清理,以释放内存(这是自动发生的)。

还有一种强制垃圾收集器清理对象的方法-gc.collect()在运行后可能会很有用del。例如:

import gc
a = [i for i in range(1, 10 ** 9)]
...
del a
#  Object [0, 1, 2, ..., 10 ** 9 - 1] is not reachable but still in memory
gc.collect()
#  Object deleted from memory

:注释中的注释非常好。注意对内存中对象的其他引用。例如:

import gc
a = [i for i in range(1, 10 ** 9)]
b = a
...
del a
gc.collect()

执行完该块后,大数组仍可访问b并且不会被清理。

python 2022/1/1 18:32:23 有196人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶