How to make a chain of function decorators in Python? How can I make two decorators in Python that would do the following? @makebold @makeitalic def say(): return "Hello" ...which should return: "<b><i>Hello</i></b>" I'm not trying to make HTML this way in a real application - just trying to understand how decorators and decorator chaining works. Solution : Check out the documentation to see how decorators work. Here is what you asked for: def makebold(fn): def wrapped(): return "<b>" + fn() + "</b>" return wrapped def makeitalic(fn):