Архив автора: admin

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 марта

Читать

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

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

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

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

Читать

Подарки к 8 марта своими руками

Подарки к 8 марта своими руками

А в преддверии самого весеннего праздника предлагаем изготовить поделки к 8 марта своими руками. Великолепные идеи для собственного творчества, а также на радость всем получателям — конфетный букет, собственноручно изготовленное мыло, а также расписная вазочка и подставка под горячее — вот все интересности вам на выбор.

Подарки к 8 марта

Читать