装饰器:

装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。

装饰器的作用就是为已经存在的函数或对象添加额外的功能。

格式:

def test2(func):    def test3():        print('-------test3')        func()    return test3    @test2def test1():    print('------test1')    test1()

相当于

def test2(func):    def test3():        print('-------test3')        func()    return test3    def test1():    print('------test1')    ret = test2(test1) ret()

一个装饰器可以装饰多个函数。

def test2(func):    def test3(a):        func(a)    return test3    @test2def test(num):    print('------test----%d' % num)    @test2def test1(num):    print('-----test1----%d' % num)    test(100)test1(100)