Python——析构方法

方法的概述:

当一个对象被删除或者被销毁时,python解释器也会默认调用一个方法,这个方法为__ del __ ()方法,也被称为析构方法。

类似于超市的“欢迎光临”与“欢迎下次光临”。

析构函数的定义

 class Animal(object):
     def __init__(self,name):
         print("__init__方法被调用")
         
     #析构方法,当对象被销毁时Python解释器会自动调用
     def __del__(self):
         print("__def__方法被调用")
         print("%s 对象被销毁"%self.name)
         
 dog = Animal('旺财')
  • 程序结束时自动调用__ del__ 方法

输出结果为:

就类似于“卸磨杀驴”,“过河拆桥” >_<

  • 对象被删除时也会自动调用__ del__ 方法,如下代码中我们利用del手动删除dog对象

    
     class Animal(object):
         def __init__(self,name):
             print("__init__方法被调用")
             
         #析构方法,当对象被销毁时Python解释器会自动调用
         def __del__(self):
             #主要的应用就是来操作 对象的释放 一旦释放完毕 对象就不能使用
             print("__def__方法被调用")
             print("%s 对象被销毁"%self.name)
            
     dog = Animal('旺财')
     ​
     #手动清理删除对象,会执行__del__函数
     del dog
     ​
     input('程序等待中……')

从下面输出结果中我们可以看出每当我们调用del dog 这条语句时__ del__ 方法被执行了

析构方法总结

  1. 当整个程序脚本执行完毕后会调用__ del__ 方法

  2. 当对象被手动销毁时也会自动调用__ del__ 方法

  3. 析构函数一般用于资源回收,利用__ del__ 方法销毁对象,回收内存等资源

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值