object.__del__(self) 2.7

Вызывается когда экземпляр должен быть уничтожен (другими словами — это деструктор). Если родительский класс тоже имеет метод __del__(), то производный класс в своём методе __del__(), если он определён, должен явно вызывать метод родительского класса, чтобы гарантированно уничтожить методы родительского класса. Стоит отметить, что возможно (хотя и не рекомендуется) сделать так, чтобы в методе __del__() было отложено уничтожение самого объекта. Это достигается созданием на него другой ссылки перед удалением текущей, и уже при уничтожении последней ссылки надо будет уничтожить сам объект. Гарантии того, что метод __del__() будет вызван для существующих объектов при завершении работы интерпретатора нет.
Заметка
del x не является прямым вызовом x.__del__() — первая форма сокращает количество ссылок на объект x на одну, тогда как последний метод вызывается только когда количество ссылок достигает нуля. В некоторых часто встречающихся случаях могут возникнуть ситуации, мешающие обнулению счётчика, как то:
  1. взаимные ссылки между объектами (в списках или в деревьях)
  2. ссылки на объекты в стеке функции, где было вызвано исключение, так как в таком случае ссылки на объекты этого стека сохранены в sys.exc_traceback
  3. ссылки на объекты в стеке, если было вызвано не перехваченное исключение в интерактивном режиме (так как в таком случае ссылки на объекты сохранены в sys.last_traceback)
В первом случае необходимо явно разрушить циклические ссылки; во втором и третьем — сохранить None в sys.exc_traceback или sys.last_traceback. Циклические ссылки определяются сборщиком мусора, если активирована соответствующая опция (как оно и есть по умолчанию), однако, если вызывается метод __del__() в коде, такие ссылки не будут обработаны автоматически. Обратитесь к документации модуля gc для более подробной информации, особенно к разделу, описывающему значение garbage.
Предупреждение
В связи с неопределёнными обстоятельствами, когда вызывается метод __del__(), исключения, возникающие в процессе выполнения этого метода игнорируются, а предупреждения об этом выводятся в sys.stderr. Кроме того, когда вызывается метод __del__(), относящийся к удалению модуля (например, когда завершено выполнение программы) другие объекты, определённые в этом методе могут быть уже уничтожены или быть в процессе уничтожения (например, когда происходит выключение механизма импортирования). По этой причине метод __del__() должен содержать минимум внешних зависимостей. Начиная с версии 1.5 Python гарантирует, что глобальные имена, начинающиеся с _ удаляются из модуля прежде остальных глобальных имён; поэтому если нет других ссылок на эти переменные, по их наличию можно определить доступность  импортированного модуля в процессе вызова метода __del__().

Автор: Ishayahu Lastov

Настенный квиллинг

Необычное настенное украшение

Сегодняшняя тема — имитация кованых изделий с помощью бумаги. Этот практический урок позволит вам научиться создавать кованые изделия с помощью техники квиллинг.

Необычное настенное украшение

Читать →

"Делаем moc прозрачным"

$ sudo aptitude update

$ sudo aptitude install moc

В папке /usr/share/doc/moc/examples/ лежит файл config.example.gz. Копируем его в папку ~/.moc/, распаковываем и переименовываем в config.

$ cp /usr/share/doc/moc/examples/config.example.gz ~/.moc/

$ cd ~/.moc

$ gunzip config.example.gz

$ mv config.example

$ nano config

Разкомментируем следующую строку:

#XTermTheme = transparent-background

 

Автор: r1za
Дата публикации: 2012-03-07T05:19:00.002-08:00

Весенние композиции с цветами на 8 марта

Весенние композиции с цветами на 8 марта

Предлагаем создать сегодня замечательные весенние композиции с цветами, которые несомненно порадуют любую счастливую обладательницу. Рассмотрим два варианта декоративных веточек с цветами. Еще один вариант в подарок на 8 марта!

Весенние композиции с цветами на 8 марта

Читать →

Цвет в интерьере

Строительные и отделочные материалы, предметы мебели, одежды, украшения, источники освещения имеют цвет. Соотношение цветов всех этих предметов создаёт среду, которая во многом влияет на нормальное функционирование человеческого организма за счёт психофизиологического воздействия цвета. Результат этих воздействий цвета проявляется в физическом и эмоциональном состоянии (чувстве бодрости или утомления, приподнятости или подавленности).

Цвет обладает ассоциативным влиянием. Жёлтые и красные цвета ассоциируются с солнцем и огнём, являются тёплыми цветами. Голубой и оттенки синего цвета – это холодные цвета. Они ассоциируются с небом, льдом, водой.

Читать →

Храним воспоминания об отдыхе

Храним воспоминания об отдыхе

Если с отдыха на море у вас завалялись всякие мелочи, камушки, ракушки, веточки, билетики, попробуйте их «законсервировать». Предлагаем оригинальные идеи для хранения воспоминаний.

Храним воспоминания об отдыхе

Читать →