Sobes.tech
Junior — Middle
107

Ի՞նչ է տեղի ունենում առաջինը՝ օբյեկտի ստեղծման ժամանակ կոնստրուկտորի կատարմա՞նը, թե՞ init մեթոդի կանչը։

Պատասխան AI-ից

sobes.tech AI

Python-ում, երբ օբյեկտ է ստեղծվում, առաջինը կանչվում է __new__ մեթոդը, որը պատասխանատու է դասի օրինակ ստեղծելու համար, ապա կանչվում է կոնստրուկտոր __init__, որը սկսում է ստեղծված օբյեկտը:

init որպես առանձին ստանդարտ մեթոդ Python-ում չկա, հավանաբար նկատի ունի __init__:

Ընդհանուր առմամբ, կարգը հետևյալն է.

  1. __new__ — օբյեկտի ստեղծում
  2. __init__ — օբյեկտի ինիցիալիզացիա

Օրինակ:

class MyClass:
    def __new__(cls, *args, **kwargs):
        print('Օբյեկտի ստեղծում')
        return super().__new__(cls)

    def __init__(self):
        print('Օբյեկտի ինիցիալիզացիա')

obj = MyClass()

Ելք:

Օբյեկտի ստեղծում
Օբյեկտի ինիցիալիզացիա