zoukankan      html  css  js  c++  java
  • 叠加多个装饰器与有参数的装饰器。

    叠加多个装饰器:

         加载顺序为从下到上,执行顺序为从上到下。

    加载顺序:Index 作为实参给到outter3outter3(index)的返回结果wrapper3再给到outter2,outter2(wrapper3)的返回结果wrapper2再给到outter1outter1(wrapper2)返回的结果为wrapper1。(自下而上。)

    再令index=wrapper1(指向最上面的@()调用一次后的地址,也就是指向wrapper1的地址)  

    执行顺序:

    此时调用index(),实际调用的是outter1( wrapper2 )里面的wrapper1,执行到,func()时候,func此时为wrapper2outter2中执行wrapper2,依次类推。

    有参数的装饰器:

         针对有参数的装饰器,需要在外出在嵌套一个函数,这样做的目的是为了遵循装饰器的原则。需要几个参数,就在装饰器外再嵌套几层,通过一层的传入。

    三元表达式:  res=x if x>y else y

    列表生成式:  [i for i in range(10)]

                  [i for i in range(10) if i>4]

    字典生成式:  

    匿名函数      lambda  x : x**2      x的二次方作为返回值。

    Sorted 排序    l=[4,2,3]

                   L_new=sorted(l,reverse=True)

  • 相关阅读:
    九宫幻方
    K倍区间
    Excel地址
    2的n次幂
    最小乘积(基本型)
    基础练习 十六进制转八进
    java分析工具系列3:jstat (用于收集虚拟机个方面的运行数据)
    java分析工具系列2:jps(显示指定系统内所有的虚拟机进程)
    java分析工具系列1:入门
    oracle系列5:权限管理
  • 原文地址:https://www.cnblogs.com/yu-931017/p/10046505.html
Copyright © 2011-2022 走看看