não entendi muito bem o uso do property
não entendi muito bem o uso do property
Bom dia, Mariana! Joia?
O property é um recurso do Python que nos permite modificar como um atributo é lido ou modificado. No contexto da aula, foi usado para alterar a maneira como o atributo ativo é apresentado.
Quando você define um método como uma property usando o decorador @property, você está dizendo ao Python que esse método deve ser acessado como um atributo, sem a necessidade de parênteses.
No exemplo da aula, o ativo é um atributo que indica se o restaurante está ativo ou não (verdadeiro ou falso). Mas para tornar mais legível, utilizamos a property para retornar um emoji em vez de um valor booleano. Veja o trecho de código:
@property
def ativo(self):
return '⌧' if self._ativo else '☐'
Neste caso, se o atributo _ativo for verdadeiro, retornará o emoji '⌧', caso contrário, retornará o emoji '☐'. Assim, quando você acessa restaurante.ativo, em vez de obter True ou False, você obtém o emoji correspondente.
Além disso, é importante notar que o atributo ativo foi alterado para _ativo, indicando que é um atributo protegido, ou seja, não deve ser alterado diretamente. Isso é uma convenção comum em Python para indicar que um atributo deve ser considerado "privado" e não deve ser acessado diretamente.
Espero ter esclarecido melhor o uso do property e se você tiver mais dúvidas, estarei à disposição.
Bons estudos!