¿Qué es el método __init__ de Python?
Capítulo 38: El método __init__ de Python - Programación orientada a objetos
Seguimos viendo cosas sobre las clases. En este capítulo veremos lo que es el método __init__
, el cuál es un método especial que podemos poner en las clases para establecer unos valores iniciales a los objetos que se creen a partir de la clase que lo contenga.
class Usuario:
def __init__(self, nombre, apellidos)
self.nombre = nombre
self.apellidos = apellidos
def imprime_datos(self):
print('Nombre:', self.nombre, '\nApellidos:', self.apellidos)
usuario001 = Usuario()
¿Por qué da error?
La respuesta es sencilla, gracias al __init__
el valor inicial de nombre
y apellidos
debe especificarse siempre.
El error viene porque no he especificado en la creación del objeto ninguno de los atributos del __init__
y el error me dice eso mismo, que se requieren esos dos argumentos.
TypeError: __init__() missing 2 required positional arguments: 'nombre' and 'apellidos'
Es tan fácil como dárles un valor:
class Usuario:
def __init__(self, nombre, apellidos)
self.nombre = nombre
self.apellidos = apellidos
def imprime_datos(self):
print('Nombre:', self.nombre, '\nApellidos:', self.apellidos)
usuario001 = Usuario('Enrique', 'Barros Fernández')
usuario002 = Usuario('Javier', 'Gomila Reyes')
Esta vez se crean los dos objetos sin problemas.
Comentarios
Si te quedan dudas sobre el temario, sobre Python, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.