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:
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:
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