logo

__init__ a Python

mètode __init__ en Python s'utilitza per inicialitzar objectes d'una classe. També s'anomena constructor.

Per entendre completament el concepte del mètode __init__, hauríeu d'estar familiaritzat amb:

Requisits previs - Classe i objectes Python , Jo mateix



Què és __init__ a Python?

mètode __init__ és com el constructor predeterminat a C++ i Java . Els constructors s'utilitzen per inicialitzar l'estat de l'objecte.

La tasca dels constructors és inicialitzar (assignar valors) als membres de dades de la classe quan es crea un objecte de la classe.

Igual que els mètodes, un constructor també conté una col·lecció d'instruccions (és a dir, instruccions) que s'executen en el moment de la creació de l'objecte. S'executa tan bon punt s'instancia un objecte d'una classe.

El mètode és útil per fer qualsevol inicialització que vulgueu fer amb el vostre objecte.

Python 3


com descarregar vídeos de youtube vlc



# 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()>

>

>

Sortida:

Hello, my name is Nikhil>

Comprensió del codi

A l'exemple anterior, es crea una persona anomenada Nikhil. Mentre es crea una persona, Nikhil es passa com a argument, aquest argument es passarà al mètode __init__ per inicialitzar l'objecte.

La paraula clau self representa la instància d'una classe i enllaça els atributs amb els arguments donats. De la mateixa manera, molts objectes de la classe Person es poden crear passant diferents noms com a arguments.

A continuació es mostra l'exemple de __ init__ a Python amb paràmetres

Exemple del mètode __init__ a Python

Vegem alguns exemples del mètode __init__ a Python.

Python 3


java sinó si



# 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()>

>

>

Sortida:

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

__init__ Mètode amb herència

Herència és la capacitat d'una classe per derivar o heretar les propietats d'una altra classe. Considerem l'exemple següent per veure com funciona __init__ en l'herència.

Python 3

què és awt




# 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'>)>

>

>

Sortida:

A init called B init called>

Per tant, el constructor de classe pare s'anomena primer. Però a Python, no és obligatori que el constructor de classe pare sempre es cridi primer.

Es pot modificar l'ordre en què es crida el mètode __init__ per a una classe pare o fill. Això es pot fer simplement cridant al constructor de classe pare després del cos del constructor de classe fill.

Exemple:

Python 3

llista de salts




# 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'>)>

>

>

Sortida:

B init called A init called>

Llegeix : Herència en Python

Hem tractat __init__ a Python, hem comentat com utilitzar __init__ i també hem vist alguns exemples d'ús del mètode __init__ a Python.

El constructor és un concepte crucial en els POO, i el mètode __init__ és molt similar als constructors.

Espero que aquest article us hagi ajudat a aprendre el mètode __init__ i el podreu utilitzar en els vostres projectes.

Article relacionat

  • __init__() és un mètode privat a Python?
  • Quina diferència hi ha entre __init__ i __call__?
  • __nou__ a Python