Não entendi muito bem isso! Ele altera a instância dada por algum outro valor?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Não entendi muito bem isso! Ele altera a instância dada por algum outro valor?
Oi Gustavo! Tudo bem?
O @property em Python é um decorador que transforma um método de classe em um atributo "somente leitura". Isso significa que você pode acessar o método como se fosse um atributo, sem a necessidade de usar parênteses. Ele não altera a instância diretamente, mas sim a forma como você interage com os métodos e atributos.
Por exemplo, imagine que você tem uma classe Retangulo que possui atributos de largura e altura, e você quer calcular a área. Usando @property, você pode fazer algo assim:
class Retangulo:
def __init__(self, largura, altura):
self.largura = largura
self.altura = altura
@property
def area(self):
return self.largura * self.altura
retangulo = Retangulo(5, 3)
print(retangulo.area) # Saída: 15
Nesse caso, area é um método, mas você o acessa como se fosse um atributo. Isso não altera a instância, mas permite que você obtenha a área de forma mais natural e intuitiva.
Espero ter ajudado e bons estudos!