import pdb def tag(token): def wrap(f): def inner(): print('<{}>'.format(token)) result = f() print(''.format(token)) return result return inner return wrap @tag('test') def foo(): print('hello world') return "Value" if __name__ == '__main__': print(foo()) print(foo()) print(foo())