Decorator Exercises

  1. Merge the @trace and @debug decorators. Combine the features of the @trace decorator with the parameterization of the @debug decorator. This should create a better @trace decorator which can be enabled or disabled simply.

  2. Create a @timing decorator. Similar to the parameterized @debug decorator, the @timing decorator can be turned on or off with a single parameter. This decorator prints a small timing summary.