Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: El mas antiguo en 23 Septiembre 2022, 17:45 pm



Título: Dudas con herencia en python.
Publicado por: El mas antiguo en 23 Septiembre 2022, 17:45 pm
Hola, gente ¿ como estan ?.-
desearia que me den una mano con esto y comprendan que hace
escasos 3 dias que comence con la POO en python.-
El caso es que estoy con herencia y lo unico que debo cambiar
es esta linea:
Código
  1. self.total_compra = input("Ingrese total de compra......: ")
por esta
Código
  1. self.total_compra = input("Ingrese total de venta......: ")

La primera se refiere a un proovedor y la segunda a un cliente,
alguien me podria decir como lo debo codificar?, gracias

Código
  1. class SuperMercado:
  2.    def __init__(self, nombre_completo, ciudad, total_compra, condiciones):
  3.        self.nombre_completo = nombre_completo
  4.        self.ciudad = ciudad
  5.        self.total_compra = total_compra
  6.        self.condiciones = condiciones
  7.  
  8.    def ingreso(self):
  9.        self.nombre_completo = input("Ingrese el nombre completo...: ")
  10.        self.ciudad = input("Ingrese ciudad de residencia.: ")
  11.        self.total_compra = input("Ingrese total de compra......: ")
  12.        self.condiciones = input("Ingrese condiciones de pago..: ")
  13.  
  14.    def mostrar(self):
  15.        print(f'''
  16. Nombre completo...: {self.nombre_completo}
  17. Ciudad............: {self.ciudad}
  18. Total compra......: {self.total_compra}
  19. Condiciones.......: {self.condiciones}        
  20.              ''')
  21.  
  22. class clientes(SuperMercado):
  23.    pass
  24.  
  25.  
  26.  
  27. """
  28. proveedor = SuperMercado("", "", 0.00, "")
  29. proveedor.ingreso()
  30. proveedor.mostrar()
  31. """
  32. cliente = clientes("", "", 0.00, "")
  33. cliente.ingreso()
  34. cliente.mostrar()
  35.  

Slds. Daniel ☕☕☕


Título: Re: Dudas con herencia en python.
Publicado por: MCKSys Argentina en 23 Septiembre 2022, 20:19 pm
Hola!

Podría hacerse así:

Código
  1. class SuperMercado:
  2.    def __init__(self, nombre_completo, ciudad, total_compra, condiciones):
  3.        self.nombre_completo = nombre_completo
  4.        self.ciudad = ciudad
  5.        self.total_compra = total_compra
  6.        self.condiciones = condiciones
  7.  
  8.    def ingreso(self):
  9.        self.nombre_completo = input("Ingrese el nombre completo...: ")
  10.        self.ciudad = input("Ingrese ciudad de residencia.: ")
  11.        self.condiciones = input("Ingrese condiciones de pago..: ")
  12.  
  13.    def mostrar(self):
  14.        print(f'''
  15. Nombre completo...: {self.nombre_completo}
  16. Ciudad............: {self.ciudad}
  17. Total compra......: {self.total_compra}
  18. Condiciones.......: {self.condiciones}        
  19.              ''')
  20.  
  21.  
  22. class clientes(SuperMercado):
  23.  
  24.    def ingreso(self):
  25.        super(clientes, self).ingreso()
  26.        self.total_compra = input("Ingrese total de compra......: ")
  27.  
  28. class proveedor(SuperMercado):
  29.  
  30.    def ingreso(self):
  31.        super(proveedor, self).ingreso()
  32.        self.total_compra = input("Ingrese total de venta......: ")
  33.  
  34.  
  35. """
  36. proveedor = proveedor("", "", 0.00, "")
  37. proveedor.ingreso()
  38. proveedor.mostrar()
  39. """
  40. cliente = clientes("", "", 0.00, "")
  41. cliente.ingreso()
  42. cliente.mostrar()
  43.  

Saludos!


Título: Re: Dudas con herencia en python.
Publicado por: El mas antiguo en 23 Septiembre 2022, 21:09 pm
Gracias, muchas gracias por ocuparte, lo probé y al habilitar
proveedor me da un error, ni bien lo, solucione lo comento.

Slds. Daniel ☕☕☕


Título: Re: Dudas con herencia en python.
Publicado por: MCKSys Argentina en 23 Septiembre 2022, 21:21 pm
Es por el nombre de la variables, una solución sería:

Código
  1. class SuperMercado:
  2.    def __init__(self, nombre_completo, ciudad, total_compra, condiciones):
  3.        self.nombre_completo = nombre_completo
  4.        self.ciudad = ciudad
  5.        self.total_compra = total_compra
  6.        self.condiciones = condiciones
  7.  
  8.    def ingreso(self):
  9.        self.nombre_completo = input("Ingrese el nombre completo...: ")
  10.        self.ciudad = input("Ingrese ciudad de residencia.: ")
  11.        self.condiciones = input("Ingrese condiciones de pago..: ")
  12.  
  13.    def mostrar(self):
  14.        print(f'''
  15. Nombre completo...: {self.nombre_completo}
  16. Ciudad............: {self.ciudad}
  17. Total compra......: {self.total_compra}
  18. Condiciones.......: {self.condiciones}        
  19.              ''')
  20.  
  21.  
  22. class clientes(SuperMercado):
  23.  
  24.    def ingreso(self):
  25.        super(clientes, self).ingreso()
  26.        self.total_compra = input("Ingrese total de compra......: ")
  27.  
  28. class proveedores(SuperMercado):
  29.  
  30.    def ingreso(self):
  31.        super(proveedores, self).ingreso()
  32.        self.total_compra = input("Ingrese total de venta......: ")
  33.  
  34.  
  35.  
  36. proveedor = proveedores("", "", 0.00, "")
  37. proveedor.ingreso()
  38. proveedor.mostrar()
  39.  
  40. cliente = clientes("", "", 0.00, "")
  41. cliente.ingreso()
  42. cliente.mostrar()
  43.  


Saludos!


Título: Re: Dudas con herencia en python.
Publicado por: El mas antiguo en 24 Septiembre 2022, 15:13 pm
Hola, muchas gracias, funciona muy bien, pero ahora me queda
la duda con las líneas 25/31, cuando tengas mucho tiempo libre
podrías poner algunas líneas para explicarme ese "super",
leo y releo y todavía no lo logro entender el significado,
muchas gracias.-

Slds. Daniel ☕☕☕