¿Cómo crear clases y objetos en Python?
Capítulo 37: Clases y objetos - Programación orientada a objetos con Python
Empezamos una parte importantísima en el curso, la programación orientada a objetos en Python.
Cómo crear una clase en Python
Para crear una clase en Python lo hacemos con la palabra reservada class
.
class Usuario:
nombre = ''
apellidos = ''
def imprime_datos(self):
print('Nombre:', self.nombre, '\nApellidos:', self.apellidos)
usuario001 = Usuario()
usuario001.nombre = 'Enrique'
usuario001.apellidos = 'Barros Fernández'
usuario001.imprime_datos()
Esta es una clase sencilla, pueden tener una complejidad enorme.
Primero he definido la clase y su nombre con class
.
En el interior de la clase puedes poner tantos atributos como quieras, yo he puesto solo dos, (nombre
y apellidos
). Los dejo como strings vacíos, para poder definir esos datos más adelante.
La función imprime_datos
también pertenece a la clase. Lo que hace esta función, es imprimir los valores de los atributos de la clase.
Por último, se crea un objeto a partir de la clase dándole un nombre (usuario001
).
En las últimas líneas le asigno un nombre
y unos apellidos
al objeto y finalmente, llamo a la función de la clase para que me los imprima.
Puedes crear tantos objetos como quieras de una misma clase, por ejemplo, podríamos crear a continuación el usuario002
, usuario003
, usuario004
, etc.
Por cierto, no te preocupes con los self
de la clase, te lo explicaré en el capítulo 39.
Nombre: Enrique
Apellidos: Barros Fernández
Si no has tocado nunca el tema de la programación orientada a objetos, es importante que mires los vídeos, ya que está explicado con otros ejemplos y mucho más detallado, por eso complemento estos textos con los vídeos, para que veáis la clase práctica y después tengáis unos apuntes para repasar la sintaxis.
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.