logo

__init__ in Python

metodo __init__ in Python viene utilizzato per inizializzare gli oggetti di una classe. È anche chiamato costruttore.

Per comprendere completamente il concetto del metodo __init__, dovresti avere familiarità con:

Prerequisiti – Classi e oggetti Python , Se stesso



Cos'è __init__ in Python?

metodo __init__ è come il costruttore predefinito in C++ E Giava . I costruttori vengono utilizzati per inizializzare lo stato dell'oggetto.

Il compito dei costruttori è inizializzare (assegnare valori) ai membri dati della classe quando viene creato un oggetto della classe.

Come i metodi, anche un costruttore contiene una raccolta di istruzioni (ovvero istruzioni) che vengono eseguite al momento della creazione dell'oggetto. Viene eseguito non appena viene istanziato un oggetto di una classe.

Il metodo è utile per eseguire qualsiasi inizializzazione che desideri eseguire con il tuo oggetto.

Python3


puntatori in c



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

>

>

Produzione:

Hello, my name is Nikhil>

Comprendere il codice

Nell'esempio sopra, viene creata una persona chiamata Nikhil. Durante la creazione di una persona, Nikhil viene passato come argomento, questo argomento verrà passato al metodo __init__ per inizializzare l'oggetto.

La parola chiave self rappresenta l'istanza di una classe e associa gli attributi agli argomenti forniti. Allo stesso modo, molti oggetti della classe Person possono essere creati passando nomi diversi come argomenti.

Di seguito è riportato l'esempio di __ init__ in Python con parametri

Esempio del metodo __init__ in Python

Diamo un'occhiata ad alcuni esempi del metodo __init__ in Python.

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

hashmap in Java

>

>

Produzione:

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

Metodo __init__ con ereditarietà

Eredità è la capacità di una classe di derivare o ereditare le proprietà da un'altra classe. Consideriamo l'esempio seguente per vedere come funziona __init__ nell'ereditarietà.

Python3

progettazione di database in dbms




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

>

>

Produzione:

A init called B init called>

Quindi, il costruttore della classe genitore viene chiamato per primo. Ma in Python non è obbligatorio che il costruttore della classe genitore venga sempre chiamato per primo.

L'ordine in cui viene chiamato il metodo __init__ per una classe genitore o figlia può essere modificato. Questo può essere fatto semplicemente chiamando il costruttore della classe genitore dopo il corpo del costruttore della classe figlia.

Esempio:

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

>

array bash
>

Produzione:

B init called A init called>

Leggere : Ereditarietà in Python

Abbiamo trattato __init__ in Python, discusso come utilizzare __init__ e visto anche alcuni esempi di utilizzo del metodo __init__ in Python.

Il costruttore è un concetto cruciale negli OOP e il metodo __init__ è molto simile ai costruttori.

Spero che questo articolo ti abbia aiutato ad apprendere il metodo __init__ e che sarai in grado di utilizzarlo nei tuoi progetti.

Articolo correlato

  • __init__() è un metodo privato in Python?
  • Qual è la differenza tra __init__ e __call__?
  • __nuovo__ in Python