Sobes.tech
Junior — Middle

Explique o conceito de decoradores em Python e como eles são utilizados para alterar o comportamento das funções.

sobes.tech IA

Resposta da IA

Os decoradores em Python são funções que recebem outra função e retornam uma nova função com comportamento alterado ou expandido, sem alterar o código fonte da função decorada.

São frequentemente usados para:

  • Registar chamadas
  • Verificar permissões de acesso
  • Cachear resultados
  • Medir tempos de execução

Um exemplo de um decorador simples que exibe uma mensagem antes e depois de chamar a função:

def decorador(func):
    def wrapper(*args, **kwargs):
        print("Antes de chamar a função")
        resultado = func(*args, **kwargs)
        print("Depois de chamar a função")
        return resultado
    return wrapper

@decorador
def dizer_olá(nome):
    print(f"Olá, {nome}!")

dizer_olá("Mundo")

A saída será:

Antes de chamar a função
Olá, Mundo!
Depois de chamar a função

Assim, os decoradores permitem alterar dinamicamente o comportamento das funções sem alterar o seu código fonte.