fork download
  1. # Demo de herencia.
  2. # Poo.
  3.  
  4. # No soportado en IDEOne
  5. #from persona import Persona
  6.  
  7. class Persona:
  8. def __init__(self, nombre, email):
  9. self.nombre = nombre
  10. self.email = email
  11.  
  12. def formatea_nombre(self):
  13. """Devolver el nombre como apellidos, nombre
  14.  
  15. :return: El nombre, como texto: apellidos, nombre
  16. """
  17.  
  18. partes = self.nombre.split()
  19. toret = self.nombre
  20.  
  21. if len(partes) > 2:
  22. toret = partes[1] + ' ' + partes[2] + ", " + partes[0]
  23.  
  24. return toret
  25.  
  26. def __str__(self):
  27. return str.format("[{0}: {1}]", self.nombre, self.email)
  28.  
  29. class Empleado(Persona):
  30. def __init__(self, nombre, email, empresa):
  31. super().__init__(nombre, email)
  32. self.empresa = empresa
  33.  
  34. def __str__(self):
  35. return str.format("[{0}: {1} @ {2}]", self.nombre, self.email, self.empresa)
  36.  
  37. if __name__ == "__main__":
  38. e1 = Empleado("Baltasar García Perez-Schofield", "jbgarcia@uvigo.es", "UVigo")
  39. print("Empleado:", e1)
  40. print("Nombre formateado:", e1.formatea_nombre())
  41.  
Success #stdin #stdout 0.01s 28384KB
stdin
Standard input is empty
stdout
Empleado: [Baltasar García Perez-Schofield: jbgarcia@uvigo.es @ UVigo]
Nombre formateado: García Perez-Schofield, Baltasar