是否必须在所有自定义创建的类中使用__del__方法,是命令析构函数

时间:2017-04-30 05:37:54

标签: python destructor

是否必须在所有自定义创建的类中使用var tweetParentsArray = Array.prototype.slice.call(document.getElementsByClassName("js-stream-tweet")) if (tweetParentsArray.length == 0) { return; } tweetParentsArray.splice(0, index) 方法? del命令是析构函数吗?

2 个答案:

答案 0 :(得分:4)

不,del只删除名称。如果该名称引用的对象具有其他引用,则它将继续存在。即使没有对象的引用,也不能保证调用__del__方法。

如果您需要可预测的对象生命周期以及自己清理后的能力,请使用上下文管理器和with语句。

答案 1 :(得分:2)

不,不。

好的描述in the docs

你真的不必担心__del__,但它是一个析构函数,会被垃圾收集器调用。

del不是析构函数,只删除引用。当所有引用都消失后,垃圾收集器最终可能会调用__del__