Section 4. Chapter 8
single
Challenge: Logging and Timing Decorators
Swipe to show menu
Task
Swipe to start coding
- Add
@functools.wraps(func)above each wrapper. - In
log_calls, completelog_messageto print the function name, positional arguments, and keyword arguments. - In
time_execution, before calling the function, store the start time withtime.time(). - After calling the function, store the end time.
- Calculate and print the execution time.
- Print both the log and timing messages.
- Decorator order:
log_callsouter,time_executioninner.
Expected result:
When you call multiply(5, 7), the output should look like:
Calling function 'multiply' with args=(5, 7), kwargs={}
Function 'multiply' executed in X.XXXXXX seconds
35
Where X.XXXXXX is the execution time formatted to six decimal places. The function should return 35.
Solution
Everything was clear?
Thanks for your feedback!
Section 4. Chapter 8
single
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat