Junior — Middle
111
Əvvəl nə baş verir: obyekt yaradılarkən konstruktorun icrası və ya init metodunun çağırılması?
AI-dan cavab
sobes.tech Süni İntellekt
Python-da obyekt yaradarkən əvvəlcə __new__ metodu çağrılır, bu metod sinifin nümunəsini yaratmaqla məsuliyyət daşıyır, sonra isə yaradılmış obyektin başlanğıcını __init__ metodu ilə verir.
Python-da init adlı ayrıca standart metod mövcud deyil, ehtimal ki, __init__ nəzərdə tutulur.
Qısaca, ardıcıllıq aşağıdakı kimidir:
__new__— obyektin yaradılması__init__— obyektin başlanğıcı
Nümunə:
class MyClass:
def __new__(cls, *args, **kwargs):
print('Obyekt yaradılır')
return super().__new__(cls)
def __init__(self):
print('Obyekt başlanır')
obj = MyClass()
Çıxış:
Obyekt yaradılır
Obyekt başlanır