Встречается на 1% собеседований по Python
Какие методы вызываются при создании экземпляра класса
При создании экземпляра класса в Python вызываются следующие методы в строгом порядке:
__new__(cls, *args, **kwargs)- статический метод, создающий и возвращающий новый экземпляр класса. Обычно вызываетobject.__new__().__init__(self, *args, **kwargs)- инициализатор, который заполняет созданный экземпляр атрибутами.
Пример:
python
class Example:
def __new__(cls, *args, **kwargs):
print("__new__ called")
instance = super().__new__(cls)
return instance
def __init__(self, value):
print("__init__ called")
self.value = value
obj = Example(42) # Выведет: __new__ called, затем __init__ calledВажно: __new__ может вернуть экземпляр другого класса, тогда __init__ не вызовется. Также, если класс определяет __call__, он будет вызван при вызове класса как функции (после __new__ и __init__).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы