在代码运行期间动态增加功能的方式,称之为“装饰器”。装饰器本质是高阶函数, 就是将函数作为参数进行相应运作,最后返回一个闭包代替原有函数. 装饰器本质就是将原函数修饰为一个闭包(一个返回函数).
装饰器在python中在函数/对象方法定义前使用@
符号调用. 装饰器可以在函数运行前进行一些预处理, 例如检查类型等.
@dec1
@dec2(arg1,arg2)
def test(arg):
pass
以上代码等于dec1(dec2(arg1,arg2)(test(arg)))
网友评论