metóda __init__ v Pythone sa používa na inicializáciu objektov triedy. Nazýva sa aj konštruktor.
Aby ste úplne porozumeli konceptu metódy __init__, mali by ste byť oboznámení s:
Predpoklady – Trieda a objekty Pythonu , Seba
Čo je __init__ v Pythone?
metóda __init__ je ako predvolený konštruktor v C++ a Java . Konštruktory sa používajú na inicializáciu stavu objektu.
Úlohou konštruktorov je inicializovať (priradiť hodnoty) dátovým členom triedy, keď je vytvorený objekt triedy.
Podobne ako metódy, aj konštruktor obsahuje kolekciu príkazov (t.j. inštrukcií), ktoré sa vykonajú v čase vytvorenia objektu. Spustí sa hneď, ako sa vytvorí inštancia objektu triedy.
Metóda je užitočná na vykonanie akejkoľvek inicializácie, ktorú chcete vykonať s vaším objektom.
Python3
urfi javed
# 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ýkon:
Hello, my name is Nikhil>
Pochopenie kódu
Vo vyššie uvedenom príklade je vytvorená osoba menom Nikhil. Pri vytváraní osoby je Nikhil odovzdaný ako argument, tento argument bude odovzdaný metóde __init__ na inicializáciu objektu.
Kľúčové slovo self predstavuje inštanciu triedy a spája atribúty s danými argumentmi. Podobne mnohé objekty triedy Osoba môžu byť vytvorené odovzdaním rôznych mien ako argumentov.
Nižšie je uvedený príklad __ init__ v Pythone s parametrami
Príklad metódy __init__ v Pythone
Pozrime sa na niekoľko príkladov metódy __init__ v Pythone.
Python3
vlk verzus líška
# 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ýkon:
Hello, my name is Nikhil Hello, my name is Abhinav Hello, my name is Anshul>
__init__ metóda s dedičnosťou
Dedičnosť je schopnosť jednej triedy odvodiť alebo zdediť vlastnosti z inej triedy. Pozrime sa na nižšie uvedený príklad, aby sme videli, ako __init__ funguje pri dedení.
Python3
pole pridávanie prvkov 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'>)> |
>
>
Výkon:
A init called B init called>
Najprv sa teda volá konštruktor rodičovskej triedy. V Pythone však nie je povinné, aby bol konštruktor rodičovskej triedy vždy volaný ako prvý.
Poradie, v ktorom sa volá metóda __init__ pre nadradenú alebo podradenú triedu, možno upraviť. To sa dá jednoducho urobiť volaním konštruktora nadradenej triedy za telom konštruktora podradenej triedy.
Príklad:
Python3
prechod cez strom
# 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'>)> |
>
>
Výkon:
B init called A init called>
Čítať : Dedičnosť v Pythone
Pokryli sme __init__ v Pythone, diskutovali o tom, ako používať __init__, a tiež sme videli niekoľko príkladov použitia metódy __init__ v Pythone.
Konštruktor je kľúčovým konceptom v OOP a metóda __init__ je veľmi podobná konštruktorom.
Dúfame, že vám tento článok pomohol naučiť sa metódu __init__ a budete ju môcť použiť vo svojich projektoch.
Súvisiaci článok
- Je __init__() súkromná metóda v Pythone?
- Aký je rozdiel medzi __init__ a __call__?
- __new__ v Pythone