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’.