zoukankan      html  css  js  c++  java
  • 第十一天——装饰器装饰多个函数(四)

    一.装饰器装饰多个函数

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

    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规定多个装饰器装饰一个函数的时候先执行离被装饰的函数最近的装饰器

    有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。 想到与得到中间还有两个字——做到。
  • 相关阅读:
    实验七:类的多态性
    实验六:类的封装(P105 3-35)
    实验五:任意输入10个int类型数据,排序输出,再找出素数
    第三周学习总结
    hbase对Java的简单操作
    hbase的shell命令
    需求工程3
    需求工程2
    软件需求1
    认识软件需求
  • 原文地址:https://www.cnblogs.com/huoxc/p/12845729.html
Copyright © 2011-2022 走看看