python - 对象返回后是否可以删除?
问题描述
例如,我想在它返回函数后删除一些对象
def A():
imgA = img_generator()
return imgA
def B():
for i in range(1000000):
imgB = A()
如果我想删除 A() 的 imgA 的内存使用情况。我该怎么做?
解决方案
imgA
在 for 循环中每次都会覆盖of 的引用,因此imgA
内存中同时只有一个 的实例。要删除变量的内存使用情况,您可以做两件事:使用del imgA
或将其设置为None
like this imgA = None
。不同之处在于,在第一种情况下,变量完全从 中删除namespace
并发送到,Garbage Collector
而第二种情况下,变量仍然存在,但其内容被发送到Garbage Collector
. 但是,python
您不必担心这些事情,因为它会自动为您处理。
推荐阅读
- ssl - SSL 证书适用于子域,但不适用于使用 cloudflare 和 certbot 的主域
- vba - 更改 Solidworks 零件上的文本
- python - 可视化值分布不均匀的两个数据集的共享正常运行时间
- css - 如何将 alpha 值添加到 css 中的变量?
- c++ - 如何将类的成员函数传递给线程?
- r - 如何组合相同的行号?在 R 中
- visual-studio - PackageReference 版本被忽略
- android - 在不改变分辨率的情况下减小图像大小 android studio
- reactjs - 收到错误:找不到模块:无法解析“firebase/app”
- python-3.x - 有什么方法可以中断 Concurrent.Futures?