Challenge: Create Your First Python Decorator
Swipe to start coding
Sometimes, it's necessary to measure how long a particular function or code segment takes to execute. This can be achieved by calculating the time elapsed from the start to the end of the function. However, if you need to measure the execution time of multiple functions, a more efficient approach would be to write a single decorator and apply it to these functions.
We'll develop such a decorator and see its effectiveness:
- You need to define the parameters that the wrapper will accept;
- Call the
funcfunction with the arguments *args and **kwargs, and assign it to theresultvariable; - In the line return ___, you should return
result; - Complete the decorator by returning the wrapper function;
- Applies the
time_itdecorator to thefactorialfunction; - Calls the
factorialfunction (which is now decorated with time_it) and prints its return value.
Solution
Thanks for your feedback!
single
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat
Awesome!
Completion rate improved to 3.7
Challenge: Create Your First Python Decorator
Swipe to show menu
Swipe to start coding
Sometimes, it's necessary to measure how long a particular function or code segment takes to execute. This can be achieved by calculating the time elapsed from the start to the end of the function. However, if you need to measure the execution time of multiple functions, a more efficient approach would be to write a single decorator and apply it to these functions.
We'll develop such a decorator and see its effectiveness:
- You need to define the parameters that the wrapper will accept;
- Call the
funcfunction with the arguments *args and **kwargs, and assign it to theresultvariable; - In the line return ___, you should return
result; - Complete the decorator by returning the wrapper function;
- Applies the
time_itdecorator to thefactorialfunction; - Calls the
factorialfunction (which is now decorated with time_it) and prints its return value.
Solution
Thanks for your feedback!
single