Oi Nayara! Tudo certo?
A função media_avaliacoes
é definida como uma @property
para poder ser acessada como se fosse um atributo, sem a necessidade de chamá-la como um método (ou seja, sem usar parênteses). Isso torna o código mais limpo e intuitivo.
Por exemplo, ao invés de chamar restaurante.media_avaliacoes()
, você pode simplesmente usar restaurante.media_avaliacoes
. Isso é útil quando você quer que a média de avaliações seja tratada como uma característica do objeto, similar a um atributo, mas ainda quer calcular ou processar algo quando ela é acessada.
Se media_avaliacoes
não fosse uma @property
e fosse apenas um método comum, você teria que chamá-lo com parênteses para obter o valor, o que poderia ser menos intuitivo em alguns contextos, especialmente quando você está listando atributos de um objeto.
Além disso, ao usar @property
, você pode encapsular a lógica de cálculo da média, protegendo a implementação interna e permitindo que, se necessário, você altere como a média é calculada sem afetar o resto do código que acessa essa propriedade.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.