logo

__init__ Pythonissa

__init__ -menetelmä Pythonissa käytetään luokan objektien alustamiseen. Sitä kutsutaan myös rakentajaksi.

Ymmärtääksesi täysin __init__-menetelmän käsitteen, sinun tulee tuntea:



Edellytykset – Python-luokka ja objektit , Itse

Mikä on __init__ Pythonissa?

__init__ -menetelmä on kuin oletuskonstruktori C++ ja Java . Konstruktoreita käytetään objektin tilan alustamiseen.

Konstruktoreiden tehtävänä on alustaa (määrittää arvoja) luokan datajäsenille, kun luokan objekti luodaan.



Kuten menetelmät, konstruktori sisältää myös kokoelman lauseita (eli käskyjä), jotka suoritetaan objektin luomisen yhteydessä. Se suoritetaan heti, kun luokan objekti on instantoitu.

Menetelmä on hyödyllinen minkä tahansa alustuksen tekemiseen, jonka haluat tehdä objektillesi.

Python 3




kuinka monta kaupunkia on yhdysvalloissa



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

>

>

Java-esimerkki

Lähtö:

Hello, my name is Nikhil>

Koodin ymmärtäminen

Yllä olevassa esimerkissä luodaan henkilö nimeltä Nikhil. Kun luodaan henkilöä, Nikhil välitetään argumenttina, tämä argumentti välitetään __init__-metodille objektin alustamiseksi.

Avainsana self edustaa luokan esiintymää ja sitoo attribuutit annetuilla argumenteilla. Samoin monia Person-luokan objekteja voidaan luoda antamalla argumenteiksi erilaisia ​​nimiä.

Alla on esimerkki __ init__ Pythonissa parametreilla

Esimerkki __init__-menetelmästä Pythonissa

Katsotaanpa joitain esimerkkejä Pythonin __init__-menetelmästä.

Python 3




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

>

>

Lähtö:

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

__init__ Perinnöllinen menetelmä

Perintö on yhden luokan kyky johtaa tai periä ominaisuuksia jostain toisesta luokasta. Tarkastellaan alla olevaa esimerkkiä nähdäksesi kuinka __init__ toimii periytymisessä.

Python 3

opi seleeniä




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

>

>

Lähtö:

A init called B init called>

Joten emoluokan rakentaja kutsutaan ensin. Mutta Pythonissa ei ole pakollista, että yläluokan rakentajaa kutsutaan aina ensin.

Järjestystä, jossa __init__-metodia kutsutaan ylä- tai alaluokalle, voidaan muuttaa. Tämä voidaan tehdä yksinkertaisesti kutsumalla yläluokan konstruktoria aliluokan konstruktorin rungon jälkeen.

Esimerkki:

Python 3

keinotekoinen hermoverkko




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

>

>

Lähtö:

B init called A init called>

Lukea : Perintö Pythonissa

Olemme käsitelleet __init__ Pythonissa, keskustelleet __init__:n käytöstä ja nähneet myös esimerkkejä __init__-menetelmän käytöstä Pythonissa.

Konstruktori on keskeinen käsite OOP:issa, ja __init__-metodi on hyvin samanlainen kuin konstruktorit.

Toivottavasti tämä artikkeli auttoi sinua oppimaan __init__-menetelmän, ja voit käyttää sitä projekteissasi.

Aiheeseen liittyvä artikkeli

  • Onko __init__() yksityinen menetelmä Pythonissa?
  • Mitä eroa on __init__ ja __call__ välillä?
  • __uusi__ Pythonissa