Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

__new__

Мы часто называем __init__ конструктором, но это только потому, что позаимствовали терминологию из других языков. На самом деле, конструирует экземпляр специальный метод __new__.

Это метод класса (однако он обрабатывается особым образом, поэтому декоратор @classmethod не используется), и возвращать он должен экземпляр. Этот экземпляр затем передается в качестве первого аргумента self методу __init__.

Поскольку __init__ при вызове уже получает экземпляр, что-то возвращать ему запрещено, по существу, метод __init__ является инициализатором. Настоящий конструктор - это метод __new__, но мы о нем редко вспоминаем, потому что реализации, унаследованной от класса object, обычно достаточно.Далее...