Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Зачем нужен __new__ в Python и каково его практическое применение?

Программирование+4
Анонимный вопрос
  ·   · 4,5 K
Я программист в компании - senior  · 24 мая 2022
new() предназначен главным образом для того, чтобы позволить подклассам неизменяемых типов (например, int, str или tuple) настраивать создание экземпляра. Он также обычно переопределяется в пользовательских метаклассах, чтобы настроить создание класса.
Пример:
class Foo(object):     def __new__(cls, *args, **kwargs):         print "Creating Instance"         instance = super(Foo, cls).__new__(cls, *args, **kwargs)         return instance     def __init__(self, a, b):         self.a = a         self.b = b     def bar(self):         pass
Вывод:
»i = Foo(2, 3)
Creating Instance
1 эксперт согласен
Представитель хостинг-провайдера Eternalhost...  · 24 мая 2022
Зачем нужен __new__ в Python Когда вы создаете экземпляр класса, Python сначала вызывает метод __new() для создания объекта, а затем вызывает метод init() для инициализации атрибутов объекта. new() — это статический метод... Читать далее
Просто о настройках и администрировании сайта в нашем блоге.Перейти на eternalhost.net/blog
В литературе и нашей, и за рубежом используется термин - паттерн синглтон, вместо одноэлементного шаблона, если... Читать дальше
Openstack DevOps and IBM/Informix Certified DBA...  · 24 мая 2022
Когда вы создаете экземпляр класса, Python сначала вызывает метод new() для создания объекта,  а затем вызывает метод init() для инициализации атрибутов объекта. new() — это статический метод класса объекта. Он имеет следующую з... Читать далее