logo

__init__ în Python

metoda __init__ în Python este folosit pentru a inițializa obiectele unei clase. Se mai numește și constructor.

Pentru a înțelege complet conceptul metodei __init__, ar trebui să fiți familiarizați cu:

Cerințe preliminare - Clasa Python și obiecte , De sine



Ce este __init__ în Python?

metoda __init__ este ca constructorul implicit în C++ și Java . Constructorii sunt utilizați pentru a inițializa starea obiectului.

Sarcina constructorilor este de a inițializa (atribui valori) membrilor de date ai clasei atunci când un obiect al clasei este creat.

Ca și metodele, un constructor conține, de asemenea, o colecție de instrucțiuni (adică instrucțiuni) care sunt executate în momentul creării obiectului. Este rulat de îndată ce un obiect al unei clase este instanțiat.

Metoda este utilă pentru a face orice inițializare pe care doriți să o faceți cu obiectul dvs.

Python3


topologie în stea



# A Sample class with init method> class> Person:> ># init method or constructor> >def> __init__(>self>, name):> >self>.name>=> name> ># Sample Method> >def> say_hi(>self>):> >print>(>'Hello, my name is'>,>self>.name)> p>=> Person(>'Nikhil'>)> p.say_hi()>

>

>

Ieșire:

Hello, my name is Nikhil>

Înțelegerea codului

În exemplul de mai sus, este creată o persoană pe nume Nikhil. În timpul creării unei persoane, Nikhil este transmis ca argument, acest argument va fi transmis metodei __init__ pentru a inițializa obiectul.

Cuvântul cheie self reprezintă instanța unei clase și leagă atributele cu argumentele date. În mod similar, multe obiecte din clasa Person pot fi create prin trecerea unor nume diferite ca argumente.

Mai jos este exemplul lui __ init__ în Python cu parametri

Exemplu de metodă __init__ în Python

Să ne uităm la câteva exemple de metodă __init__ în Python.

Python3




0,0625 sub formă de fracție
# A Sample class with init method> class> Person:> ># init method or constructor> >def> __init__(>self>, name):> >self>.name>=> name> ># Sample Method> >def> say_hi(>self>):> >print>(>'Hello, my name is'>,>self>.name)> # Creating different objects> p1>=> Person(>'Nikhil'>)> p2>=> Person(>'Abhinav'>)> p3>=> Person(>'Anshul'>)> p1.say_hi()> p2.say_hi()> p3.say_hi()>

>

>

Ieșire:

Hello, my name is Nikhil Hello, my name is Abhinav Hello, my name is Anshul>

__init__ Metoda cu Moștenire

Moştenire este capacitatea unei clase de a deriva sau de a moșteni proprietățile din altă clasă. Să luăm în considerare exemplul de mai jos pentru a vedea cum funcționează __init__ în moștenire.

Python3

proiectarea bazei de date în dbms




# Python program to> # demonstrate init with> # inheritance> class> A(>object>):> >def> __init__(>self>, something):> >print>(>'A init called'>)> >self>.something>=> something> class> B(A):> >def> __init__(>self>, something):> ># Calling init of parent class> >A.__init__(>self>, something)> >print>(>'B init called'>)> >self>.something>=> something> obj>=> B(>'Something'>)>

>

>

Ieșire:

A init called B init called>

Deci, constructorul clasei părinte este numit primul. Dar în Python, nu este obligatoriu ca constructorul clasei părinte să fie apelat întotdeauna primul.

Ordinea în care este apelată metoda __init__ pentru o clasă părinte sau copil poate fi modificată. Acest lucru se poate face pur și simplu apelând constructorul clasei părinte după corpul constructorului clasei copil.

Exemplu:

Python3




# Python program to> # demonstrate init with> # inheritance> class> A(>object>):> >def> __init__(>self>, something):> >print>(>'A init called'>)> >self>.something>=> something> class> B(A):> >def> __init__(>self>, something):> >print>(>'B init called'>)> >self>.something>=> something> ># Calling init of parent class> >A.__init__(>self>, something)> obj>=> B(>'Something'>)>

git add --all
>

>

Ieșire:

B init called A init called>

Citit : Moștenirea în Python

Am acoperit __init__ în Python, am discutat despre cum să folosiți __init__ și am văzut, de asemenea, câteva exemple de utilizare a metodei __init__ în Python.

Constructorul este un concept crucial în POO, iar metoda __init__ este foarte asemănătoare cu constructorilor.

Sper că acest articol te-a ajutat să înveți metoda __init__ și o vei putea folosi în proiectele tale.

Articol înrudit

  • Este __init__() o metodă privată în Python?
  • Care este diferența dintre __init__ și __call__?
  • __nou__ în Python