"""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 "" + fn() + "" return wrapped def makeitalic(fn): @wraps(fn) def wrapped(): return "" + fn() + "" 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:hello world name:hello doc:a decorated hello world