我想在返回功能后删除一些对象例如
def A():
imgA = img_generator()
return imgA
def B():
for i in range(1000000):
imgB = A()
如果我想删除A()的imgA的内存使用情况。我该怎么办?
imgA
的引用每次在for循环中都会被覆盖,因此,imgA
的一个实例只能同时存储在内存中。要删除变量的内存使用量,您可以做两件事:使用del imgA
或像None
那样将其关联到imgA = None
。区别在于,在第一种情况下,变量已从namespace
中完全删除并发送到Garbage Collector
,而在第二种情况下,该变量仍然有效,但其内容已发送到Garbage Collector
。但是,在python
中,您不必担心这些事情,因为它会自动为您处理。
您可以执行del imgA
。
希望对您有所帮助问候