「python」__del__()方法

来源:互联网 发布:svn nginx http 访问 编辑:程序博客网 时间:2024/06/03 16:33

__del__()方法

创建对象后,python解释器默认调用__init__()方法;

当删除一个对象时,python解释器也会默认调用一个方法,这个方法为__del__()方法

import timeclass 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 = catcat3 = catprint("---马上 删除cat对象")del catprint("---马上 删除cat2对象")del cat2print("---马上 删除cat3对象")del cat3print("程序2秒钟后结束")time.sleep(2)

总结

  • 当有1个变量保存了对象的引用时,此对象的引用计数就会加1
  • 当使用del删除变量指向的对象时,如果对象的引用计数不会1,比如3,
  • 那么此时只会让这个引用计数减1,即变为2,当再次调用del时,变为1,如果再调用1次del,此时会真的把对象进行删除



原创粉丝点击