(2018-04-02.Python从Zero到One)三、Python基础__3.7.3__del__()方法

上一篇文章为:→3.7.2保护对象的属性__del__()方法 创建对象后,python解释器默认调用__init__()方法;
【(2018-04-02.Python从Zero到One)三、Python基础__3.7.3__del__()方法】当删除一个对象时,python解释器也会默认调用一个方法,这个方法为__del__()方法

import time class Animal(object):# 初始化方法 # 创建完对象后会自动被调用 def __init__(self, name): print('__init__方法被调用') self.__name = name# 析构方法 # 当对象被删除时,会自动被调用 def __del__(self): print("__del__方法被调用") print("%s对象马上被干掉了..."%self.__name)# 创建对象 dog = Animal("哈皮狗")# 删除对象 del dogcat = Animal("波斯猫") cat2 = cat cat3 = catprint("---马上 删除cat对象") del cat print("---马上 删除cat2对象") del cat2 print("---马上 删除cat3对象") del cat3print("程序2秒钟后结束") time.sleep(2)

结果:
(2018-04-02.Python从Zero到One)三、Python基础__3.7.3__del__()方法
文章图片
day08_python面向对象02-01.png 总结
  • 当有1个变量保存了对象的引用时,此对象的引用计数就会加1
  • 当使用del删除变量指向的对象时,如果对象的引用计数不会1,比如3,那么此时只会让这个引用计数减1,即变为2,当再次调用del时,变为1,如果再调用1次del,此时会真的把对象进行删除
下一篇文章为:→3.7.4继承介绍以及单继承

    推荐阅读