Rubén Cuello
Pregunta¿Por qué se pone “self” como parámetro?

amir kabaha
el programa visual studio no me sirve . deberia aber en este curso una esplicacion para como poner python en el programa . no solo poner como se instala. no entiendo nada de lo que esta progrmando , deberia aver un explicacion anterior de python.

Sebastián Andrade
Es un parametro para hacer referencia a los objetos, con el tiempo lo iras entendiendo

Miguel Angel Velazquez Romero
Mi recomendación es que no te preocupes por ese parámetro de momento, en el Curso de POO y Algoritmos con Python se profundizará un poco más.
Recuerda, divide y vencerás. ;)

Miguel Angel Velazquez Romero
El parámetro self se refiere al objeto instanciado de esa clase sobre el cual se está invocando dicho método. Es decir, el objeto que usaste para llamar al método.
El parámetro self se refiere al objeto instanciado de esa clase sobre el cual se está invocando dicho método.
Python, dentro de los métodos definidos de una clase, establece que el primer parámetro definido en un método recibirá el objeto con el cual se invoca dicho método. Este parámetro (que se suele llamar self aunque se puede usar cualquier nombre de variable) es usado dentro de la implementación del método para modificar el contenido o atributos de dicho objeto como desees.
Por lo tanto, es una condición necesaria que todos los métodos de una clase que puedan ser llamados a través de un objeto tengan al menos un parámetro, el cual se asignará automáticamente al objeto usado en la invocación.
Aunque en la definición del método, self es el primer parámetro, a la hora de llamar a dicho método no hace falta pasarle el propio objeto como primer parámetro explícitamente ya que Python lo hace de manera implícita sin necesidad de hacerlo manualmente. Es decir, el primer parámetro self del método se asigna automáticamente al propio objeto y el resto de parámetros a los argumentos con que llames al método.
En el caso del método init(), el parámetro self se refiere al objeto recién instanciado de la clase que quieres obtener al crear dicho objeto con Nombre_Clase().
self es el equivalente al this de otros lenguajes (aunque self no es palabra reservada como this), con la diferencia de que en otros lenguajes no hace falta definir los métodos con un parámetro this, mientras que en Python sí es necesario.