6 Эффекты команды del

Удаление имени переменной из сферы , используя del v , или удаление объекта из коллекции с помощью del v[item] или del[i:j] , или удаление атрибута с помощью del v.name , или любой другой способ удаления ссылок на объект, не вызывает какую - либо деструктор вызовы или любая память освобождения и сам по себе. Объекты уничтожаются только тогда, когда их счетчик ссылок достигает нуля.

 >>> import gc
>>> gc.disable()  # disable garbage collector
>>> class Track:
        def __init__(self):
            print("Initialized")
        def __del__(self):
            print("Destructed")
>>> def bar():
    return Track()
>>> t = bar()
Initialized
>>> another_t = t  # assign another reference
>>> print("...")
...
>>> del t          # not destructed yet - another_t still refers to it
>>> del another_t  # final reference gone, object is destructed
Destructed