import time
class Animal(object):
def __init__(self,name):
print('__init__ is used')
self.__name = name
def __del__(self):
print('__del__ is used')
print("%s will be killed"%self.__name)
dog = Animal("哈啤狗")
dog1 = dog
del dog1
print("check real del")
del dog
当有1个变量保存了对象的引用时,此对象的引用计数就会加1
当使用del删除变量指向的对象时,如果对象的引用计数不会1,比如3,那么此时只会让这个引用计数减1,即变为2,当再次调用del时,变为1,如果再调用1次del,此时会真的把对象进行删除
网友评论