logo

__init__ i Python

__init__ metod i Python används för att initiera objekt i en klass. Det kallas också en konstruktör.

För att helt förstå konceptet med __init__-metoden bör du vara bekant med:

Förutsättningar – Python-klass och objekt , Själv



Vad är __init__ i Python?

__init__ metod är som standardkonstruktor i C++ och Java . Konstruktörer används för att initiera objektets tillstånd.

Konstruktörernas uppgift är att initialisera (tilldela värden) till datamedlemmarna i klassen när ett objekt i klassen skapas.

Liksom metoder innehåller en konstruktor också en samling satser (dvs instruktioner) som exekveras vid tidpunkten för objektskapandet. Den körs så snart ett objekt i en klass instansieras.

Metoden är användbar för att göra vilken initiering du vill göra med ditt objekt.

Python3


exempel på operativsystem



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

>

>

Produktion:

Hello, my name is Nikhil>

Förstå koden

I exemplet ovan skapas en person som heter Nikhil. När du skapar en person skickas Nikhil som ett argument, detta argument kommer att skickas till metoden __init__ för att initiera objektet.

Nyckelordet själv representerar förekomsten av en klass och binder attributen med de givna argumenten. På samma sätt kan många objekt i klassen Person skapas genom att skicka olika namn som argument.

Nedan är exemplet på __ init__ i Python med parametrar

Exempel på metoden __init__ i Python

Låt oss titta på några exempel på __init__-metoden i Python.

Python3

int i sträng




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

>

>

Produktion:

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

__init__ Metod med arv

Arv är förmågan hos en klass att härleda eller ärva egenskaperna från någon annan klass. Låt oss överväga exemplet nedan för att se hur __init__ fungerar i arv.

Python3

javascript anropsfunktion från html




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

>

>

Produktion:

A init called B init called>

Så den överordnade klasskonstruktorn anropas först. Men i Python är det inte obligatoriskt att den överordnade klasskonstruktören alltid anropas först.

rihannas ålder

Ordningen i vilken __init__-metoden anropas för en förälder eller en underordnad klass kan ändras. Detta kan helt enkelt göras genom att anropa den överordnade klasskonstruktören efter kroppen av den underordnade klasskonstruktorn.

Exempel:

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

>

>

Produktion:

B init called A init called>

Läsa : Arv i Python

Vi har täckt __init__ i Python, diskuterat hur man använder __init__ och även sett några exempel på hur man använder metoden __init__ i Python.

Constructor är ett avgörande koncept i OOPs, och __init__-metoden är mycket lik konstruktörer.

Hoppas den här artikeln hjälpte dig att lära dig __init__-metoden, och att du kommer att kunna använda den i dina projekt.

Relaterad artikel

  • Är __init__() en privat metod i Python?
  • Vad är skillnaden mellan __init__ och __call__?
  • __ny__ i Python