A Byte of Python

El mètode __init__

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.

Ús del mètode __init__

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

Sortida

				
$ python class_init.py
Hello, my name is Swaroop
				
				

Com funciona

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.

Nota pels programadors de C++/Java/C#

El mètode __init__ és l'equivalent al constructor de C++, C# o Java.