logo

__init__ i Python

__init__ metode i Python brukes til å initialisere objekter i en klasse. Det kalles også en konstruktør.

For å forstå konseptet med __init__ metoden, bør du være kjent med:

Forutsetninger – Python-klasse og objekter , Selv



Hva er __init__ i Python?

__init__ metode er som standard konstruktør i C++ og Java . Konstruktører brukes til å initialisere objektets tilstand.

Oppgaven til konstruktører er å initialisere (tildele verdier) til datamedlemmene i klassen når et objekt i klassen opprettes.

I likhet med metoder, inneholder en konstruktør også en samling av setninger (dvs. instruksjoner) som utføres på tidspunktet for objektoppretting. Den kjøres så snart et objekt i en klasse er instansiert.

Metoden er nyttig for å gjøre enhver initialisering du vil gjøre med objektet ditt.

Python3


hvor mange frukter er det



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

>

>

Produksjon:

Hello, my name is Nikhil>

Forstå koden

I eksemplet ovenfor opprettes en person som heter Nikhil. Mens du oppretter en person, sendes Nikhil som et argument, dette argumentet vil bli sendt til __init__-metoden for å initialisere objektet.

Nøkkelordet selv representerer forekomsten av en klasse og binder attributtene med de gitte argumentene. På samme måte kan mange objekter i Person-klassen opprettes ved å sende forskjellige navn som argumenter.

Nedenfor er eksemplet på __ init__ i Python med parametere

Eksempel på __init__ metode i Python

La oss se på noen eksempler på __init__-metoden i Python.

Python3




delvis avledet lateks

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

>

>

Produksjon:

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

__init__ Metode med arv

Arv er evnen til en klasse til å utlede eller arve egenskapene fra en annen klasse. La oss vurdere eksemplet nedenfor for å se hvordan __init__ fungerer i arv.

Python3

utvidelsesfil java




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

>

>

Produksjon:

A init called B init called>

Så den overordnede klassekonstruktøren kalles først. Men i Python er det ikke obligatorisk at den overordnede klassekonstruktøren alltid kalles først.

Rekkefølgen som __init__-metoden kalles for en overordnet eller en underordnet klasse, kan endres. Dette kan ganske enkelt gjøres ved å kalle den overordnede klassekonstruktøren etter kroppen til den underordnede klassekonstruktøren.

Eksempel:

Python3




python slange vs anaconda
# 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'>)>

>

>

Produksjon:

B init called A init called>

Lese : Arv i Python

Vi har dekket __init__ i Python, diskutert hvordan man bruker __init__, og også sett noen eksempler på bruk av __init__-metoden i Python.

Konstruktør er et avgjørende konsept i OOPs, og __init__-metoden er veldig lik konstruktører.

Håper denne artikkelen hjalp deg med å lære __init__-metoden, og at du vil kunne bruke den i prosjektene dine.

Relatert artikkel

  • Er __init__() en privat metode i Python?
  • Hva er forskjellen mellom __init__ og __call__?
  • __ny__ i Python