nao entendi porque devemos usar o @property e @setter!! por favor se alguem poder me explicar com clareza eu agradeço
nao entendi porque devemos usar o @property e @setter!! por favor se alguem poder me explicar com clareza eu agradeço
Olá Daiane, tudo bem com você?
O decorator @property corresponde a função property() do python, quando usamos ela como decorator estamos adicionando funcionalidades “especiais” a um método, fazendo ele agir como getters ou setters sem precisar mudar sua sintaxe;
Para usarmos o @property temos que seguir algumas regras.
Exemplo de @property do tipo getter
@property
def limite(self):
print('Usando decorators para ver limite')
return self.__limite
Terminal
from conta import Conta
conta = Conta(132, 'Ana', 1000)
conta.limite
Resultado
Usando decorators para ver limite
1000.0
Já o decorator do tipo setter, como por exemplo `@limite.setter`, trabalha com chave e valor, para usá-lo devemos informar o local onde está o objeto (self) e informar qual o novo valor.
Exemplo de @property do tipo setter
@limite.setter
def limite(self, limite):
print('Usando decorators para mudar o limite')
self.__limite = limite
Terminal
conta.limite = 500
Usando decorators para mudar o limite
Em resumo temos:
Para saber um pouco mais sobre o uso dos @property, recomendo a leitura dos seguintes artigos, estão em inglês, caso tenha dificuldade com o idioma recomendo o uso do tradutor do navegador.
Caso tenha dúvidas, encontro à disposição.
Abraços e bons estudos.