【发布时间】:2016-08-03 13:37:09
【问题描述】:
在 Java 中,使用 close() 方法通过删除超出范围的对象来释放资源。我对 Python 的等价物是什么感到困惑?
- Python 的垃圾收集器会自动执行此操作吗?
- 是
del方法吗? - 我应该使用
with语句吗?
任何帮助将不胜感激。
编辑:我的目标是在需要时显式删除类对象,而不是文件对象。
【问题讨论】:
-
@AgataB 不是
-
您是否有需要这样做的特定用例?你能详细说明一下吗? Python 的使用通常不会涉及手动清零实例(您称之为类对象)。 weakref 可能有助于避免他们留下来。 with 是 not 一个合适的构造,因为它在一个实例的上下文中运行 - 它旨在释放 resources 持有以一个实例。我从未见过任何认真编写的 Python 代码直接使用 gc - 并不是说它永远不应该这样做,但这是一个很好的理由。
标签: java python python-2.7 python-3.x resources