Olá Philipysr, 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;
Será um modo Pythonico de programar, quando queremos que um determinado método possua uma nova funcionalidade daremos preferência pelo uso do decorator. Seu uso permite também acessar os atributos privados como se o atributo fosse público, isso acontece devido ao decorator.
Daremos preferência para o uso do decorator sempre que precisarmos de métodos do tipo getter
ou setters
para trabalharmos com atributos privados. Assim estaremos criando códigos de forma mais Pythonica.
Para aprimorar ainda mais o seu aprendizado sobre o uso dos @property, recomendo a leitura do seguinte artigo.
Os artigos acima estão em inglês, caso tenha dificuldade com o idioma recomendo o uso do tradutor do navegador.
Lembre-se que pode contar sempre com o fórum Alura, seja para tirar suas dúvidas ou para compartilhar o seu desenvolvimento.
Encontro à disposição.
Abraços e bons estudos.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!