Decorators are “wrappers”, which allow us to execute code before and after the function they decorate without modifying the function itself.
The given code can be wrapped in a chain of decorators as follows.
def makebold(fn): def wrapped(): return "" + fn() + "" return wrapped def makeitalic(fn): def wrapped(): return "" + fn() + "" return wrapped @makebold @makeitalic def hello(): return "hello world" print hello()
C:/Users/codegyan/~.py hello world
If this html code is executed as in the link given below we get the output as bold and italicised ‘hello world’.