python装饰器的六种写法

python装饰器是什么?

装饰器本质是一个函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器返回值也是一个函数对象。

什么场景下会用到装饰器?

比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。

装饰器的使用方法:
1. 先定义一个装饰器(帽子)
2. 再定义你的业务函数或者类(人)
3. 最后把这装饰器(帽子)扣在这个函数(人)头上

第一种:普通装饰器

# 这是装饰器函数,参数 func 是被装饰的函数
def logger(func):
    def wrapper(*args, **kw):
        print('我准备开始执行:{} 函数了:'.format(func.__name__))

        # 真正执行的是这行
        func(*args, **kw)

        print('我执行完啦')
    return wrapper
# 业务函数
@logger
def add(x, y):
    print('{} + {} = {}'.format(x, y, x+y))

执行add函数

 add(200, 50)

看看输出

 我准备开始执行:add 函数了:
 200 + 50 = 250
 我执行完啦。
posted @ 2022-02-17 16:53  27岁的太阳  阅读(134)  评论(0编辑  收藏  举报