Contenido del Curso
Programación Orientada a Objetos en Python a Fondo
Programación Orientada a Objetos en Python a Fondo
Inicialización
Las instancias suelen crearse con parámetros específicos que las distinguen unas de otras. Por ejemplo, consideremos la clase Usuario
y sus instancias, como Juan y Bob, que tienen nombres, apellidos y edades distintos. Ahora, vamos a explorar cómo podemos establecer estos parámetros al crear una instancia.
¿Qué es __init__?
__init__
es un método especial que se utiliza para inicializar los atributos de una nueva instancia de una clase. El método __init__
, que se ejecuta creamos una nueva instancia de una clase.
Como recordatorio, crear una nueva instancia implica utilizar el nombre de la clase y los paréntesis ()
. El propósito del método __init__
es recibir valores como argumentos dentro de estos paréntesis y asignar estos valores a los atributos de la nueva instancia creada.
class User: def __init__(self, name, surname, age): self.name = name self.surname = surname self.age = age bob = User("Bob", "Smith", 11) print(bob.name, bob.surname, bob.age)
En el ejemplo, hemos definido el método __init__
, que se ejecuta cada vez que se crea una nueva instancia de la clase. Cuando creamos la instancia bob
, pasamos los valores "Bob"
, "Smith"
, y 11
como argumentos a la clase User
. El método __init__
recibe estos argumentos y los utiliza para definir nuevos atributos para la instancia bob
.
El User.age
debería lanzar un AttributeError
porque la clase User
no tiene ningún atributo definido. El método __init__
, como se mencionó anteriormente, es responsable de definir los atributos para cada instancia de la clase, no para la clase en sí.
Nota
Más detalles sobre los métodos se describirán en capítulos posteriores.
Cubriremos el argumento
self
en el próximo capítulo. No es necesario profundizar en él en este momento.
¡Gracias por tus comentarios!