1234567891011121314151617181920212223242526272829 |
- '''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
|