Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/06/2012, 12:12
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: no entiendo nada :@

Esta escribiendo una respuesta demasiado larga para llegar al punto de tu pregunta.

self (o cualquier otro nombre que le quieras dar), es una referencia a la misma instancia de la clase.

Vamos a ver un ejemplo:
Supón que tienes la siguiente clase Perro (Dog), tienes un constructor que recibe un nombre (name) y un método ladra (bark) que no recibe ningún parámetro.
Código Python:
Ver original
  1. class Dog:
  2.     def __init__(self, name):
  3.         self.name = name
  4.  
  5.     def bark(self):
  6.         return "%s: woof woof" % (self.name,)


Ahora hacemos uso de la clase Dog
Código Python:
Ver original
  1. alpha_dog = Dog("fido")
  2. beta_dog = Dog("rufu")
  3. print fido.bark()
  4. print rufu.bark()

Como puedes ver la clase Dog es como una plantilla para las instancias. Pero como puede diferenciar python (u otros lenguajes) sobre que instancia esta trabajando? Esto es fácil cuando se mantiene una referencia en este caso self.