如果定义类的时候重写了该类的__del__方法,那么该类在垃圾回收是会被正常回收么?
如果不会,该类会在什么时候被回收?
python类的__del__方法
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
「已注销」 2021-08-15 14:16关注不管你重不重写,回收的时候都是先调用__del__函数最后那个版本(因为之前的版本已经不复存在了),然后回收。当然,你要保证其签名为__del__(self)。
至于什么时候回收,那要看情况了。如果你直接del(a),就调用的时候回收,如果一直没调用,如果这个对象在某个for循环之类里的局部变量的话每次循环开始时构造,结束会回收。不确定的时候你在__del__里面print一个东西然后试一下就知道了,如果需要的话每执行一段代码print一个东西本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报