Показаны сообщения с ярлыком __del__(). Показать все сообщения
Показаны сообщения с ярлыком __del__(). Показать все сообщения

четверг, 8 марта 2012 г.

object.__del__(self) 2.7

Вызывается когда экземпляр должен быть уничтожен (другими словами — это деструктор). Если родительский класс тоже имеет метод __del__(), то производный класс в своём методе __del__(), если он определён, должен явно вызывать метод родительского класса, чтобы гарантированно уничтожить методы родительского класса. Стоит отметить, что возможно (хотя и не рекомендуется) сделать так, чтобы в методе __del__() было отложено уничтожение самого объекта. Это достигается созданием на него другой ссылки перед удалением текущей, и уже при уничтожении последней ссылки надо будет уничтожить сам объект. Гарантии того, что метод __del__() будет вызван для существующих объектов при завершении работы интерпретатора нет.

del x и x.__del__()

Залез я сегодня на сайт Яндекса и посмотрел, какие задачи даются для проверки знаний на Python. И уже первая вызвала у меня затруднения)) Вот она:
Что выведет следующий код: