装饰器(decorator) 就是一个包装机(wrapper),让你能够在不修改原始函数的基础上,在执行函数的前后加入额外的代码.
装饰器就是一个函数,这个函数接受一个函数作为参数。
1.在装饰器(decorator)内部定义了一个函数即前面提到的包装机(wrapper) 。
2.这个函数在原始函数的上下添加了一些代码,这些代码在原始函数调用的前后执行.
@my_shiny_new_decorator
def another_stand_alone_function():
print "Leave me alone"
@decorator 其实就是下面这段代码的简单写法:
another_stand_alone_function = my_shiny_new_decorator(another_stand_alone_function)