Não sei se é bug ou algum erro que não consegui identificar. Ta aparecendo esse bound method que eu não sei o que é
Não sei se é bug ou algum erro que não consegui identificar. Ta aparecendo esse bound method que eu não sei o que é
Olá Jhenifer, tudo bem com você?
Não é um bug, este comportamento está acontecendo devido a falta do decorador @property
para o método media_avaliacoes
.
Quando não usamos o decorador @property
e realizamos a chamada do método media_avaliacoes
como se fosse uma propriedade da seguinte forma: restaurante.media_avaliacoes
(sem os parênteses após o nome do método) é apresentado apenas o caminho onde o método foi salvo na memória.
Para corrigir esse comportamento, basta adicionar o decorador @property
no método media_avaliacoes
, como apresentado abaixo:
@property
def media_avaliacoes(self):
if not self._avaliacao:
return 0
soma_das_notas = sum(avaliacao._nota for avaliacao in self._avaliacao)
quantidade_de_notas = len(self._avaliacao)
media = round(soma_das_notas / quantidade_de_notas, 1)
return media
Após realizar essa mudança, salve o arquivo e execute novamente o arquivo app.py
e verifique o resultado apresentado. Basta dar continuidade na aula Listando avaliações a partir do minuto 1:50.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!