TGViewer
Python Academy Python Academy @python_academy · 44.1K subscribers
Post #302 58.4K
Паттерн проектирования Singleton

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

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

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

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

#классы #паттерны
More from @python_academy
  1. Oct 9, 2026FastAPI FastAPI – фреймворк, про который однозначно стоит рассказать. Честно, синтаксис мн…
  2. Oct 8, 2026Разделители для целых чисел Трудно визуально различить целые числа подобные 10000000 и 100…
  3. Oct 7, 2026Знакомство с библиотекой NumPy в Python Что такое NumPy? NumPy (Numerical Python) - это по…
  4. Oct 6, 2026Генерируем QR-код Простой, но удобный и полезный пакет для создания QR-кодов. Для отрисовк…
  5. Oct 5, 2026Корутины (Coroutines) В PEP 342 были представлены корутины, которые стали некой противопол…
  6. Oct 4, 2026Порядок разрешения методов В Python существует так называемый Method Resolution Order (MRO…
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 →