gpt4 book ai didi

python - python 2.7 中不可变类型的内存不足

转载 作者:太空宇宙 更新时间:2023-11-04 05:46:18 25 4
gpt4 key购买 nike

如果我在下面的循环中每次都检查 id(A),我会看到它的不同(可能是由于不变性)。如果是,是否有可能在包含赋值的长时间运行循环中耗尽内存?或者是更好的主意 在任何新任务之前删除 A?

A = 10
for count in range(1,<a very high number>):
A = count

最佳答案

在 python2.7 上 range 返回一个列表。我会更担心该列表会导致您出现内存问题。

只有当您有一个长时间运行的函数并且您有一个非常您想尽快释放的大对象时,您才需要del 一个变量。你永远不会有一个接近那么大的整数。例如,仅仅十个字节就足以存储一个大于可观测宇宙中原子数的整数。

如果你赋值给一个变量,那么如果前一个对象只有一个引用那么它会自动被释放。例如。

import weakref # module that doesn't keep objects in memory if it has the only reference

class A(object):
pass

a = A()
r = weakref.ref(a)
print(a is r())
a = 1
print(r() is None)

关于python - python 2.7 中不可变类型的内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32145276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com