`

python的 __del__方法

 
阅读更多
转自: http://hgoldfish.mysmth.net/2009/07/05/__del__%E6%96%B9%E6%B3%95/

简而言之,__del__方法相当于其它语言里的析构函数。不过,由于Python的一些特性,在使用__del__需要注意一些问题:

1、因为垃圾收集机制处理循环引用(A使用B,B又使用了A)的时候总不尽如人意。 所以__del__并不总是会被调用。

2、__del__可能在Python退出的时候被调用。此时很多变量都已经被释放, 所以__del__对外部的依赖要尽可能的小。

3、__del__ 函数内不能引入新的模块。

4、因为Python提供了try/finally这样的语法,一些资源释放的东西,最好还是放在finally块内解决,而不是放到__del__方法内。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics