Junior — Middle
Tem experiência na utilização de decoradores nos seus projetos?
sobes.tech IA
Resposta da IA
Sim, nos projetos utilizei decoradores para ampliar a funcionalidade de funções e métodos sem alterar o seu código fonte. Por exemplo, para registar chamadas de funções, medir o tempo de execução ou verificar permissões de acesso.
Exemplo de um decorador simples para registo:
def log_calls(func):
def wrapper(*args, **kwargs):
print(f"Chamada da função {func.__name__} com argumentos {args} {kwargs}")
result = func(*args, **kwargs)
print(f"A função {func.__name__} retornou {result}")
return result
return wrapper
@log_calls
def add(a, b):
return a + b
add(2, 3)
Decoradores ajudam a escrever código mais limpo e fácil de manter, especialmente na automação de testes, onde muitas vezes é necessário adicionar ações repetitivas em torno de funções de teste.