Sobes.tech
Junior — Middle

Pode explicar o que é um decorador para métodos de classe em Python?

sobes.tech IA

Resposta da IA

Um decorador para métodos de classes em Python é uma função que aceita um método de classe e retorna uma versão modificada desse método. Ele permite adicionar comportamentos adicionais ao método sem alterar seu código fonte.

Por exemplo, pode-se usar um decorador para registrar chamadas de método, verificar permissões de acesso ou armazenar resultados em cache.

Exemplo de um decorador simples para um método de classe:

class MinhaClasse:
    def decorador(func):
        def wrapper(self, *args, **kwargs):
            print(f"Chamada do método {func.__name__}")
            return func(self, *args, **kwargs)
        return wrapper

    @decorador
    def metodo(self, x):
        return x * 2

obj = MinhaClasse()
print(obj.metodo(5))  # Mostrará uma mensagem e o resultado 10

Aqui, @decorador envolve o método metodo, adicionando uma saída adicional ao chamá-lo.