Hi ha alguns noms de mètode que tenen significats especials en les classes
Python. Aquest és el cas del mètode __init__.
El mètode __init__ s'executa en el moment en que
s'instancia cada objecte d'una classe.
El mètode és útil per realitzar qualsevol inicialització
que calgui. Atenció amb els dos guions baixos que apareixen a ambdós costats
del nom.
Example 11.3. Ús del mètode __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() # Aquest exemple també es pot escriure com Person('Swaroop').sayHi()
L'exemple defineix el mètode __init__ que
rep, a banda de l'habitual self, el paràmetre
name.
Com que el camp name coincideix amb el nom del
paràmetre name, ens cal distingir-los fent servir
la referència a self.
Fixem-nos que no fem una crida explícita al mètode
__init__, sinó que passem l'argument quan
creem una instància de la classe. Aquesta és la principal particularitat
d'aquest mètode.
Es pot veure l'ús del paràmetre self.name al mètode
sayHi.
El mètode __init__ és l'equivalent al
constructor de C++, C# o Java.