析构方法,当对象在内存中被释放时(也就是实例执行完了,实例的内存就会自动释放,这时候就会触发),自动触发执行。

当程序结束时,python只会回收自己的内存空间,即用户态内存,而操作系统的资源则没有被回收,这就需要我们定制__del__,在对象被删除前向操作系统发起关闭数据库链接的系统调用,回收资源

class foo:
    def __init__(self,name):
        self.name = name

    def __del__(self):
        print('del触发了')

f = foo('123')
del f.name   #删除f.name 这个属性的时候不会触发析构方法
print('--->') 
#以上执行完后,就触发了析构方法:del触发了
结果:
  --->
   del触发了

 

class foo:
    def __init__(self,name):
        self.name = name

    def __del__(self):
        print('del触发了')

f = foo('123')
del f   #删除实例对象,这时候就会触发析构方法 
print('--->')
结果:
 del触发了
--->

 

 





相关文章:

  • 2021-10-15
  • 2022-01-18
  • 2022-12-23
  • 2022-12-23
  • 2021-12-25
  • 2022-12-23
  • 2022-01-13
  • 2021-08-31
猜你喜欢
  • 2022-12-23
  • 2021-12-29
  • 2022-01-07
  • 2021-08-31
  • 2022-12-23
  • 2022-12-23
  • 2021-07-30
相关资源
相似解决方案