Python/Объектно-ориентированное программирование на Python: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 70:
</source>
 
Переопределив классовый метод <code>__new__</code>, можно контролироватьуправлять процесспроцессом создания экземпляра. Этот метод вызывается до метода <code>__init__</code> и должен вернуть новый экземпляр, либо <code>None</code> (в последнем случае будет вызван <code>__new__</code> родительского класса). Метод <code>__new__</code> используется для управления созданием неизменчивых (immutable) объектов, управления созданием объектов в случаях, когда <code>__init__</code> не вызывается, например, при десериализации (unpickle). Следующий код демонстрирует один из вариантов реализации [[Одиночка (шаблон проектирования)|шаблона Одиночка]]:
<source lang="python">
>>> class Singleton(object):