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.