Junior — Middle
62
В каком порядке происходит вызов методов __new__ и __init__ при создании объекта класса в Python?
Answer from AI
sobes.tech AI
При создании объекта класса в Python сначала вызывается метод __new__, который отвечает за создание нового экземпляра класса. После успешного создания объекта вызывается метод __init__, который инициализирует созданный объект.
Порядок вызова:
__new__(cls, ...)— создаёт и возвращает новый объект.__init__(self, ...)— инициализирует объект, возвращаетNone.
Пример:
class MyClass:
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 = MyClass(10)
Вывод:
__new__ called
__init__ called