Junior — Middle
Co se stane jako první: provedení konstruktoru při vytváření objektu nebo volání metody init?
sobes.tech AI
Odpověď od AI
V Pythonu při vytváření objektu se nejprve volá metoda __new__, která je odpovědná za vytvoření instance třídy, a poté se volá konstruktor __init__, který inicializuje vytvořený objekt.
Metoda init jako samostatná standardní metoda v Pythonu neexistuje, pravděpodobně se myslí __init__.
Stručně řečeno, pořadí je:
__new__— vytvoření objektu__init__— inicializace objektu
Příklad:
class MyClass:
def __new__(cls, *args, **kwargs):
print('Vytváření objektu')
return super().__new__(cls)
def __init__(self):
print('Inicializace objektu')
obj = MyClass()
Výstup:
Vytváření objektu
Inicializace objektu