metoda __init__ v Pythonu se používá k inicializaci objektů třídy. Říká se mu také konstruktor.
Abyste zcela porozuměli konceptu metody __init__, měli byste znát:
Předpoklady – Třída a objekty Pythonu , Já
Co je __init__ v Pythonu?
metoda __init__ je jako výchozí konstruktor v C++ a Jáva . Konstruktory se používají k inicializaci stavu objektu.
Úkolem konstruktorů je inicializovat (přiřadit hodnoty) datovým členům třídy, když je vytvořen objekt třídy.
Stejně jako metody obsahuje konstruktor také kolekci příkazů (tj. instrukcí), které se provádějí v okamžiku vytvoření objektu. Spustí se, jakmile je vytvořena instance objektu třídy.
Metoda je užitečná k provedení jakékoli inicializace, kterou chcete s objektem provést.
Python3
data mining
# 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()> |
>
>
Výstup:
Hello, my name is Nikhil>
Pochopení kódu
Ve výše uvedeném příkladu je vytvořena osoba jménem Nikhil. Při vytváření osoby je Nikhil předán jako argument, tento argument bude předán metodě __init__ k inicializaci objektu.
Klíčové slovo self představuje instanci třídy a váže atributy s danými argumenty. Podobně lze mnoho objektů třídy Person vytvořit předáním různých jmen jako argumentů.
mysql zobrazit všechny uživatele
Níže je příklad __ init__ v Pythonu s parametry
Příklad metody __init__ v Pythonu
Podívejme se na některé příklady metody __init__ v Pythonu.
Python3
# 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()> |
>
>
Výstup:
Hello, my name is Nikhil Hello, my name is Abhinav Hello, my name is Anshul>
__init__ Metoda s dědičností
Dědictví je schopnost jedné třídy odvozovat nebo zdědit vlastnosti z jiné třídy. Podívejme se na níže uvedený příklad, abychom viděli, jak __init__ funguje při dědění.
Python3
číst soubory json
# 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'>)> |
>
>
Výstup:
A init called B init called>
Nejprve se tedy zavolá konstruktor rodičovské třídy. Ale v Pythonu není povinné, aby byl konstruktor rodičovské třídy vždy volán jako první.
Pořadí, ve kterém je volána metoda __init__ pro nadřazenou nebo podřízenou třídu, lze upravit. To lze jednoduše provést voláním konstruktoru nadřazené třídy po těle konstruktoru podřízené třídy.
Příklad:
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'>)> |
rozvětvené stromy
>
>
Výstup:
B init called A init called>
Číst : Dědičnost v Pythonu
Probrali jsme __init__ v Pythonu, diskutovali o tom, jak používat __init__, a také jsme viděli několik příkladů použití metody __init__ v Pythonu.
Konstruktor je klíčový koncept v OOP a metoda __init__ je velmi podobná konstruktorům.
Doufám, že vám tento článek pomohl při učení metody __init__ a budete ji moci používat ve svých projektech.
Související článek
- Je __init__() soukromá metoda v Pythonu?
- Jaký je rozdíl mezi __init__ a __call__?
- __nové__ v Pythonu