Hola a todos, hoy os voy a explicar como usar la función __str__ de python en POO.
En POO, es normal tener una función dedicada a mostrar la información del usuario.
En python, tenemos una función especial, llamada __str__ que devuelve una cadena con el estado del objeto al imprimir un objeto.
Si un objeto se imprime y no tiene esa función, devolverá la referencia en memoria.
Os dejo un ejemplo:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
class Vehiculo: def __init__(self, matricula, marca, modelo): self.matricula = matricula self.marca = marca self.modelo = modelo @property def matricula(self): return self.__matricula @matricula.setter def matricula(self, value): self.__matricula = value @property def marca(self): return self.__marca @marca.setter def marca(self, value): self.__marca = value @property def modelo(self): return self.__modelo @modelo.setter def modelo(self, value): self.__modelo = value def arrancar(self): print("Arrancando el vehiculo...") def __str__(self): return 'Matricula: '+self.matricula+', Marca: '+self.marca+', modelo: '+self.modelo |
Si ahora hago un print a una instancia de Vehiculo, me mostrara su información:
|
1 2 3 |
v = Vehiculo("1111AAAA", "SEAT", "IBIZA") print(v) |
Este es el resultado:
![]()
Y este seria sino tuviera la función __str__
![]()
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta