Не могу понять поведение питона __del__
У меня есть некоторый тестовый код, как следует, я ожидал __del__
Функция должна вызываться так, как будто вызывается del.
class MyClass(object):
"""docstring for MyClass"""
count = 0
def __init__(self):
super(MyClass, self).__init__()
MyClass.count += 1
print "init instance, total {0}".format(MyClass.count)
def __del__(self):
MyClass.count -= 1
print "del instance, total {0}".format(MyClass.count)
if __name__ = '__main__':
first_object = MyClass()
second_object = MyClass()
# del second_object
Я получаю следующую ошибку:
init instance, total 1
init instance, total 2
del instance, total 1
Exception AttributeError: "'NoneType' object has no attribute 'count'" in <bound method MyClass.__del__ of <__main__.MyClass object at 0x100f17d10>> ignored
если я включу следующую строку, она работает нормально.
del second_object