__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