Junior — Middle
106
Čo sa stane ako prvé: vykonanie konštruktora pri vytváraní objektu alebo volanie metódy init?
Odpoveď od AI
sobes.tech AI
V Pythone, pri vytváraní objektu sa najskôr volá metóda __new__, ktorá je zodpovedná za vytvorenie inštancie triedy, a potom sa volá konštruktor __init__, ktorý inicializuje vytvorený objekt.
Metóda init ako samostatná štandardná metóda v Pythone neexistuje, pravdepodobne sa myslí __init__.
Stručne povedané, poradie je:
__new__— vytvorenie objektu__init__— inicializácia objektu
Príklad:
class MyClass:
def __new__(cls, *args, **kwargs):
print('Vytváranie objektu')
return super().__new__(cls)
def __init__(self):
print('Inicializácia objektu')
obj = MyClass()
Výstup:
Vytváranie objektu
Inicializácia objektu