Ci sono molti metodi che hanno significati speciali nelle classi Python.
Uno di questi è il metodo __init__.
Il metodo __init__ viene eseguito quando viene istanziata
una classe. Si usa per inizializzare gli oggetti utilizzati
nell'ambito della classe. Da notare il carattere di doppia sottolineatura posto
prima e dopo il nome del metodo.
Esempio 11.3. Usare il metodo __init__
#!/usr/bin/python # Filename: class_init.py class Person: def __init__(self, name): self.name = name def sayHi(self): print 'Hello, my name is', self.name p = Person('Swaroop') p.sayHi() # Questo breve esempio potrebbe anche essere # scritto come Person('Swaroop').sayHi()
Nell'esempio definiamo il metodo __init__ in modo
tale che possa accettare il parametro name (oltre,
ovviamente, al solito self). Creiamo un nuovo campo,
anch'esso chiamato name; non c'è confusione
nell'uso di due variabili diverse che hanno lo stesso nome: la notazione
puntata aiuta a distinguerle.
È fondamentale notare come non ci sia nessuna chiamata esplicita
al metodo __init__: il passaggio degli argomenti
in parentesi seguiti dal nome della classe avviene al momento della
creazione dell' istanza della classe.
Siamo adesso in grado di usare il campo self.name
nei nostri metodi, come dimostrato nell'uso del metodo
sayHi.
Il metodo __init__ è analogo al
costruttore di C++, C# oppure Java.