zoukankan      html  css  js  c++  java
  • 11.30

    叠加多个装饰器

    1.加载顺序:自下而上

    2.执行顺序:自上而下

    格式为:

    def outer1(func):
      def inner(*args,**kwargs):

        res=func(*args,**kwargs)

        return res

      return inner

    def outer2(func):
      def inner1(*args,**kwargs):

        res=func(*args,**kwargs)

        return res

      return inner1

    @outer1

    @outer2

    def sa():

      print("x")

    sa()

    装饰器装饰的对象一般为函数,为装饰器添加功能毫无意义,因此装饰器加载顺序是自下而上,由原函数传参至底部装饰器并返回一个新的函数体代码块,再与其上的装饰器结合

    执行顺序至上而下

    有参装饰器

    当需要给装饰器传参时,只有两层结构的装饰器无法满足情况,因此需要叠加一层,可以接受传递的参数
    三元表达式

    格式为 x if 条件表达式 else y

    生成式

    列表生成式

    字典生成式

    分别将可迭代对象作为参数,并迭代取值,返回相应的格式

    匿名函数

    匿名函数就是只定义了一个函数的内存地址,主要用于临时使用一次的场景

    Python使用lambda来创建匿名函数

    lambda只是一个表达式,lambda主体是一个表达式而不是代码块,仅仅能在lambda表达式中封装有限的逻辑进去

    在Python中,使用yield的函数被称为生成器(generator)

    跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作

    在调用生成器运行的过程中,每次运行yield时,函数会暂停并保存当前所有的运行信息返回yield的值

    并在下一次执行next()方法时从当前位置继续运行

    调用一个生成器函数返回的是一个迭代器对象

  • 相关阅读:
    xamarin ios html5 video.js 无法播放
    限制WPF textbox 字符最大值
    .net 客户端 WCF Binding 多次迭代
    10款无需编程的App DIY开发工具
    国外一些好用的UX/UI设计工具和资源分享
    成功网页设计师的七大必备技能
    提升编程能力的11个技巧
    2015程序员推荐书单
    前端工作流程自动化——Grunt/Gulp 自动化
    HTML5初学者福利!11个在线学习网站推荐
  • 原文地址:https://www.cnblogs.com/suncunxu/p/10046334.html
Copyright © 2011-2022 走看看