1234567891011121314151617181920212223242526272829303132 |
- """https://docs.python.org/2/library/functools.html#functools.wraps"""
- """https://stackoverflow.com/questions/739654/how-can-i-make-a-chain-of-function-decorators-in-python/739665#739665"""
- from functools import wraps
- def makebold(fn):
- @wraps(fn)
- def wrapped():
- return "<b>" + fn() + "</b>"
- return wrapped
- def makeitalic(fn):
- @wraps(fn)
- def wrapped():
- return "<i>" + fn() + "</i>"
- return wrapped
- @makebold
- @makeitalic
- def hello():
- """a decorated hello world"""
- return "hello world"
- if __name__ == '__main__':
- print('result:{} name:{} doc:{}'.format(hello(), hello.__name__, hello.__doc__))
- ### OUTPUT ###
- # result:<b><i>hello world</i></b> name:hello doc:a decorated hello world
|