Истинная природа методов — это «специальные методы».
Про жизненный цикл инстанса.
▪️
Думаю, как конструктор используется очень часто. В основном это инициализация экземпляра (например, инициализация атрибутов). Отличие от
Возвращаемое значение всегда
▪️
В отличие от
Возвращаемое значение должно быть созданным экземпляром (обычно это экземпляр класса из аргумента
Типичное место применения
Ещё
▪️
Вызывается в момент, когда экземпляр уничтожается (например, через
👉 @PythonPortal
Про жизненный цикл инстанса.
__init__object.__init__(self[, ...])Думаю, как конструктор используется очень часто. В основном это инициализация экземпляра (например, инициализация атрибутов). Отличие от
__new__, о котором ниже: __init__ выполняется уже после создания экземпляра.Возвращаемое значение всегда
None.__new__object.__new__(cls[, ...])В отличие от
__init__, выполняется до создания экземпляра и отвечает именно за его создание. Поэтому это не инстанс-метод, а статический метод, но явно прописывать @staticmethod не нужно.Возвращаемое значение должно быть созданным экземпляром (обычно это экземпляр класса из аргумента
cls).Типичное место применения
__new__ это инициализация подклассов, которые наследуются от иммутабельных типов (int, str, tuple и т.д.). Они иммутабельные, поэтому после создания объекта нельзя менять атрибуты через __init__.Ещё
__new__ используют для реализации паттерна Singleton.__del__object.__del__(self)Вызывается в момент, когда экземпляр уничтожается (например, через
del). Явных популярных кейсов немного, но может быть полезно при отладке, чтобы понимать тайминг работы GC.Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3😢1
This media is not supported in your browser
VIEW IN TELEGRAM
Любой может программировать с помощью ИИ.
Вы используете ИИ без базовых знаний программирования:
👉 @PythonPortal
Вы используете ИИ без базовых знаний программирования:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26😁19👍4
This media is not supported in your browser
VIEW IN TELEGRAM
GitHub запустил свою платформу для обучения: все курсы и сертификаты в одном месте.
Git, GitHub, MCP, использование ИИ, VSCode и многое другое.
И большая часть контента бесплатна: → https://learn.github.com
👉 @PythonPortal
Git, GitHub, MCP, использование ИИ, VSCode и многое другое.
И большая часть контента бесплатна: → https://learn.github.com
Please open Telegram to view this post
VIEW IN TELEGRAM
❤26