Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Valor

Professor, boa tarde!

Dada a classe e a função abaixo...tenho uma pequena dúvida:

impostos.py

class ISS: def calcula(self, orcamento): return orcamento.valor * 0.06

De onde vem esse ".valor" que aparece no return?

Uma vez que se eu fizer apenas: return orcamento * 0.06 não da certo.

2 respostas
solução!

Olá Fagner, boa tarde! O valor é um atributo de orcamento - abra a classe Orcamento no arquivo orcamento.py e você verá a propriedade valor lá:

class Orcamento(object):

    def __init__(self):
        self.__itens = []

    @property
    def valor(self):
        total = 0.0
        for item in self.__itens:
            total+= item.valor
        return total

Então, em

def calcula(self, orcamento): 
    return orcamento.valor * 0.06

veja que recebemos o orcamento por parâmetro da função calcula e no return , através do operador ponto('.') acessamos o seu valor e multiplicamos por 0.06.

Ficou claro?

Olá Thaís, boa noite!

Ficou claro sim, aliás estava fácil, foi só falta de atenção. Obrigado.