1
resposta

@Property

Não entendi muito bem isso! Ele altera a instância dada por algum outro valor?

1 resposta

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!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.