Foros Python

Versión completa: Empezando con paradigma objetos
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola como estan estoy empezndo a hacer cosas orientada a objetos estoy leyendo sobre el tema en recursos queria mostar algo simple pasado a POO si hay algo a tener en cuenta mando los 2 codigos




Código:
lis = [ ]
nada = " "

def impuestos(lista,iva = 0.21):
    for monto in lista:
        c = monto * (1 + 0.21)
        lis.append(str( c))
        desrme = nada.join(lis)
    return desrme

 
lista=[2000,5533,7777,1000,3222]
print(impuestos(lista))


class Impuestos:

    def __init__(self,lista):
        self.lista = lista


    def impuestos(self,iva = 0.21):
        self.lis = [ ]
        self.nada = " "
        for monto in self.lista:
            c = monto * (1 + 0.21)
            self.lis.append(str(c))
            self.desarme = self.nada.join(self.lis)
        return self.desarme

lista=[2000,5533,7777,1000,3222]
lista2=[123,45,32,12,4,23]

obj1 = Impuestos(lista)
obj2 = Impuestos(lista2)
print(obj1.impuestos())
print(obj2.impuestos())
Hola, Celso.

Está muy bien pasado a POO. Pero no toda función tiene sentido ponerla dentro de una clase. En este caso sería razonable una clase "Impuestos" o "CalculadorImpuestos" si para la misma lista de de números se tuvieran que aplicar varios impuestos distintos, de modo que sería útil tener todas esas funciones agrupadas dentro de la misma clase para poder hacer algo así:

Código:
calculador_impuestos = CalculadorImpuestos(valores)
print("IVA:", calculador_impuestos.iva())
print("Otro impuesto:", calculador_impuestos.otro_impuesto())

Saludos
Gracias Francisco ahi entendi mejor otro concepto muchísimas gracias por todo!