Login and get codingAfter creating our Decorators and Context Managers learning path we realized we did not have a beginner decorator Bite, so here it is!
Complete the
sandwich
decorator which takes a function and prints === Upper bread slice === (defined inUPPER_SLICE
) and === Lower bread slice === (defined inLOWER_SLICE
) before and after calling the passed in function (func
).And voilà applying this decorator to
add_ingredients
you have your sandwich (see also the tests):>>> from sandwich import sandwich >>> @sandwich ... def add_ingredients(ingredients): ... print(' / '.join(ingredients)) ... >>> ingredients = ['bacon', 'lettuce', 'tomato'] >>> add_ingredients(ingredients) === Upper bread slice === bacon / lettuce / tomato === Lower bread slice ===This is probably the easiest way to demo a decorator. Even so decorators can be confusing when you start using them so here is an article we wrote some time ago: Learning Python Decorators by Example.
446 out of 455 users completed this Bite.
Will you be the 447th person to crack this Bite?
Resolution time: ~27 min. (avg. submissions of 5-240 min.)
Our community rates this Bite 3.31 on a 1-10 difficulty scale.
» You can do it! 😌