【发布时间】:2017-09-27 22:26:01
【问题描述】:
是否必须在所有自定义创建的类中使用__del__ 方法? del 命令是析构函数吗?
【问题讨论】:
-
除非你知道你真的需要它,否则不要实现
__del__。如果你必须问“我在这门课上需要__del__吗?”,你可能不需要。
标签: python destructor
是否必须在所有自定义创建的类中使用__del__ 方法? del 命令是析构函数吗?
【问题讨论】:
__del__。如果你必须问“我在这门课上需要__del__ 吗?”,你可能不需要。
标签: python destructor
不,del 只是删除名称。如果该名称引用的对象有其他引用,它将继续存在。 __del__ 方法在没有对象引用的情况下也不能保证被调用。
如果您需要可预测的对象寿命和自行清理的能力,请使用上下文管理器和 with 语句。
【讨论】:
没有,也没有。
很好的描述in the docs
你真的不必担心__del__,但它是一个析构函数,会被垃圾收集器调用。
del 不是析构函数,它只是删除一个引用。当所有引用都消失后,垃圾收集器最终可能会调用__del__。
【讨论】: