什么是装饰器?
我们先了解一下基本概念:它的本质就是一个函数,可以让其他函数在不需要做任何代码变动的前提下增加额外的功能,它的返回值也是一个函数对象。
在接下来的过程中我们循序渐进的来了解究竟装饰器长什么样子。
一切皆对象
在python中一切皆对象,函数也不例外。
我们理解下Python中的函数:
函数中定义函数
在前面说过,在python中一切皆对象,这样就使得变量所拥有的属性,函数也同样拥有。这样我们理解在函数内创建一个函数时合法的。
从函数中返回函数
其实在一个函数中并不需要去执行另一个函数,我们可以将其作为输出返回出来。
将函数作为参数传给另一个函数
快要揭开装饰器的真面目了
用@运行之前的代码
现在你对python装饰器的工作原理是不是有个基本的认识了?
@a_new_decorator
相当于
a_function_requiring_decoration = a_new_decorator(a_function_requiring_decoration)
在网上找到的做了相关总结
网友评论