self es una convención utilizada en la Programación Orientada a Objetos (POO), especialmente en lenguajes como Python, que se refiere a la instancia (el objeto) sobre la que se está ejecutando un método.
Función y Significado de self
La función principal de self es permitir que los métodos de una clase accedan y manipulen los atributos y otros métodos de ese objeto específico.
1. Referencia a la Instancia Actual (El Objeto)
Identidad: Cuando creas un objeto a partir de una clase (una instancia),
selfactúa como un puntero o una referencia a ese objeto recién creado.Manejo de Métodos: Cada vez que llamas a un método en un objeto (ej:
mi_coche.acelerar()), Python pasa automáticamente ese objeto (mi_coche) como el primer argumento al métodoacelerar(), y ese argumento se nombra por convención comoself.
2. Acceso a Atributos de Instancia
La función más crucial de self es distinguir los atributos de la instancia de las variables locales dentro del método.
Ejemplo: Si una clase
Cochetiene un atributovelocidad, dentro de un método comoacelerar(), usasself.velocidadpara acceder o modificar la velocidad del coche específico que llamó al método. Sinself, el método no sabría a qué variablevelocidadse está refiriendo.
3. Definición del Método Constructor (__init__)
self es fundamental en el método constructor (__init__) de una clase:
__init__(self, ...): Este método se llama cuando se crea un nuevo objeto.selfes el primer parámetro y se usa para inicializar los atributos de ese nuevo objeto.
En resumen:
| Función | Propósito |
| Puntero | Hace referencia al objeto que está llamando al método. |
| Acceso | Permite a los métodos leer y modificar las variables internas (atributos) de ese objeto. |
| Distinción | Separa las variables locales del método de los atributos de la instancia. |
Nota: Aunque el término estándar es self, en la mayoría de los lenguajes POO (como C++ o Java) se utiliza la palabra clave this con la misma función. El uso de self es una fuerte convención, pero no una palabra clave reservada, de Python.
No hay comentarios.:
Publicar un comentario