• python基础-生成器


        1.什么是生成器:

          在函数内但凡出现yield关键字,而调用函数就不会触发函数体代码的执行了,会得到一个返回值,该返回值就是一个生成器对象

          而生成器对象本质就是迭代器对象

          

          使用__next__():会触发对应函数的执行,直到碰到一个yield就暂停住,就将该yield后的值当做本次__next__()的值返回。

          

          打印全部:

          

          总结yield功能:

            a.提供了一钟自定义迭代器的方式。函数的返回值g才是生成器

            b.可以用于返回值

            c.函数暂停以及继续执行的状态是由yield保存。

          #yield与return的区别:

            相同点.都可以用于返回值,个数以及类型都没有限制

            不同点:yield可以返回多次值,return只能返回一次值且整个函数就结束了。

          

        2.为什么要用生成器

          生成器是自定义的迭代器。

        3.如何用生成器

          自定义range功能:

            

        4.yield 表达式形式的应用

          知识储备:生成器.send('') :1.为当前暂停位置的yield赋值,不是yield的返回值

                       2.与next的效果一样

          yield表达式的使用:传值

          

          send

          

          send并不能在第一个next之前

          

  • 相关阅读:
    《软件工艺》-初评
    UI设计心得(1)
    理想生活应该是...
    OpenPOP.NET+OpenSMTP.NET=?最强.NET开源邮件组件 Mail.NET!
    Outlook应用开发(3)之插件引擎
    最近发现的几个酷.net代码
    买了几本新书,推荐一下
    一个游标简单例子
    winform中捕获程序未处理的所有异常
    DataTable的Merge方法和添加datatable到dataset
  • 原文地址:https://www.cnblogs.com/linbin7/p/10660487.html
Copyright © 2020-2023  润新知