def a_new_decorator(a_func): def wrapTheFunction(): print("I am doing some boring work before executing a_func()") a_func() print("I am doing some boring work after executing a_func()") return wrapTheFunction @a_new_decorator def a_function_requiring_decoration(): print("I am the function which needs some decoration to remove my foul smell") #the @a_new_decorator is just a short way of saying: # a_function_requiring_decoration = a_new_decorator(a_function_requiring_decoration) #程序的执行部分 #a_function_requiring_decoration = a_new_decorator(a_function_requiring_decoration) a_function_requiring_decoration()