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.