TGViewer
Python Academy Python Academy @python_academy · 44.3K subscribers
Post #2370 3.97K
Паттерн проектирования Singleton

Одиночка или же синглтон – это паттерн проектирования, описывающий объект, у которого имеется один единственный экземпляр. 

Метод __new__ вызывается для создания экземпляра класса, перед вызовом __init__. На вход первым аргументом метод принимает сам класс, а возвращать должен уже экземпляр (даже можно экземпляр и другого класса).

В примере мы проверяем, есть ли значение у атрибута instance. Если нет, то присваиваем атрибуту экземпляр этого же класса. А если уже экземпляр создан, то просто его возвращаем.

То есть при вызове конструктора класса Singleton, будет возвращаться один и тот же объект из памяти.

#классы #паттерны
  • 👍 6
  • ❤ 1
More from @python_academy
  1. Sep 25, 2026Функция reload() Функция reload() в Python перезагружает ранее импортированный модуль. Это…
  2. Sep 24, 2026FFmpeg: Лучшее решение для обработки мультимедийных файлов FFmpeg - это бесплатная и откры…
  3. Sep 23, 2026Возврат нескольких значений из функции Знаете ли вы, что можно осуществлять возврат нескол…
  4. Sep 22, 2026Получение срезов итераторов Если вы попытаетесь получить срез итератора, то столкнётесь с…
  5. Sep 21, 2026Хэширование Хэш — это целое число фиксированного размера, которое идентифицирует определен…
  6. Sep 20, 2026Понимание различий между операторами сравнения == и is Множество разработчиков сталкиваютс…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →