Seção 4. Capítulo 8
single
Desafio: Decoradores de Registro e Temporização
Deslize para mostrar o menu
Tarefa
Deslize para começar a programar
- Adicione
@functools.wraps(func)acima de cada wrapper. - Em
log_calls, completelog_messagepara exibir o nome da função, os argumentos posicionais e os argumentos nomeados. - Em
time_execution, antes de chamar a função, armazene o tempo inicial comtime.time(). - Após chamar a função, armazene o tempo final.
- Calcule e exiba o tempo de execução.
- Exiba tanto as mensagens de log quanto de tempo de execução.
- Ordem dos decoradores:
log_callsexterno,time_executioninterno.
Resultado esperado:
Ao chamar multiply(5, 7), a saída deve ser semelhante a:
Calling function 'multiply' with args=(5, 7), kwargs={}
Function 'multiply' executed in X.XXXXXX seconds
35
Onde X.XXXXXX é o tempo de execução formatado com seis casas decimais. A função deve retornar 35.
Solução
Tudo estava claro?
Obrigado pelo seu feedback!
Seção 4. Capítulo 8
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo