Vai al contenuto principale
Pubblicato il

__init__ in Python

Condividi:

Introduzione

Nel mondo della programmazione Python, capire __init__ è fondamentale per chi lavora con la programmazione orientata agli oggetti. Questo metodo speciale, spesso chiamato costruttore, è il cuore di qualsiasi classe ed è responsabile dell'inizializzazione degli oggetti.

Comprendere __init__

Il Costruttore della Classe

Il metodo __init__ viene chiamato automaticamente ogni volta che viene creato un oggetto della classe. Serve a definire gli attributi dell'oggetto o a eseguire qualsiasi inizializzazione necessaria.

Sintassi e Utilizzo

Vediamo un esempio di una classe semplice con il metodo __init__:

class Persona:
  def __init__(self, primoNome, cognome, eta):
    self.primoNome = primoNome
    self.cognome = cognome
    self.eta = eta

In questo esempio, __init__ inizializza tre attributi: primoNome, cognome e eta.

Metodi Aggiuntivi

Oltre a __init__, puoi definire altri metodi per espandere le funzionalità della classe:

def informazione(self):
  print('Nome:', self.primoNome, self.cognome)
  print('Età:', self.eta)

def verificaIngresso(self):
  if self.eta >= 18:
    print('Questa persona può entrare nel locale perché è maggiorenne.')
  else:
    print('Questa persona non può entrare nel locale perché è minorenne.')

Creazione di Oggetti

Con la classe definita, puoi creare oggetti (istanze) di essa:

persona1 = Persona('Nelson', 'Silva', 28)
persona2 = Persona('Larissa', 'Fernandes', 17)

Ogni oggetto avrà i propri attributi e metodi definiti nella classe.

Dimostrazione

Vediamo come funzionano i metodi con gli oggetti creati:

persona1.informazione()
persona1.verificaIngresso()

persona2.informazione()
persona2.verificaIngresso()

Conclusione

Il metodo __init__ è un componente essenziale della programmazione orientata agli oggetti in Python, che offre un modo flessibile e potente per inizializzare gli oggetti. Comprendere e utilizzare correttamente questo metodo è fondamentale per creare classi efficienti e significative.

Happy coding!