胶水PythonPython

高级函数-Python装饰器和符号'@'

2019-04-19  本文已影响1人  爱折腾的大懒猪

在代码运行期间动态增加功能的方式,称之为“装饰器”。装饰器本质是高阶函数, 就是将函数作为参数进行相应运作,最后返回一个闭包代替原有函数. 装饰器本质就是将原函数修饰为一个闭包(一个返回函数).

装饰器在python中在函数/对象方法定义前使用@符号调用. 装饰器可以在函数运行前进行一些预处理, 例如检查类型等.

@dec1
@dec2(arg1,arg2)
def test(arg):
    pass

以上代码等于dec1(dec2(arg1,arg2)(test(arg)))

简单的装饰器及其运行机制

上一篇 下一篇

猜你喜欢

热点阅读