• 第十一天——装饰器装饰多个函数(四)


    一.装饰器装饰多个函数

    我们现在知道标准装饰器和带参数的装饰器,我们来看看多个装饰器装饰一个函数:

    def wrapper1(func):
        def inner1(*args,**kwargs):
            print("这是装饰器一开始")
            func(*args,**kwargs)
            print("这是装饰器一结束")
        return inner1
    

    def wrapper2(func):
    def inner2(args,**kwargs):
    print("这是装饰器二开始")
    func(
    args,**kwargs)
    print("这是装饰器二结束")
    return inner2

    @wrapper1
    @wrapper2
    def func():
    print("这是被装饰的函数")

    func()

    大家来推断一下,这个的打印结果

    这是装饰器一开始
    这是装饰器二开始
    这是被装饰的函数
    这是装饰器二结束
    这是装饰器一结束
    

    这个结果和我们想象的是不是不一样啊,这是为什么呢?

    Python规定多个装饰器装饰一个函数的时候先执行离被装饰的函数最近的装饰器

    有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。 想到与得到中间还有两个字——做到。
  • 相关阅读:
    Shell中的特殊变量和结构
    自由的Debian
    关于系统定制的一些链接
    超出两行显示省略号
    json转换
    区分LocalStorage和偏好数据
    去除谷歌浏览器中的默认文本框样式
    js访问xml
    js执行跨域请求
    mvc通过controller创建交互接口
  • 原文地址:https://www.cnblogs.com/huoxc/p/12845729.html
Copyright © 2020-2023  润新知