装饰器
nothing but a 语法糖
语法糖(Syntactic sugar):
也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。 通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。
python装饰器能成立是因为python中一切皆对象,函数也只不过是一个普通的FunctionObject。所以函数本身可以作为返回值,装饰器就是一个以函数作为输入,也以函数作为输出的函数。