码迷,mamicode.com
首页 > 编程语言 > 详细

python基础-生成器

时间:2019-04-05 23:50:58      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:src   nbsp   代码   相同   出现   执行   image   ext   info   

    1.什么是生成器:

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

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

      技术图片

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

      技术图片

      打印全部:

      技术图片

 

      总结yield功能:

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

        b.可以用于返回值

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

      #yield与return的区别:

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

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

      

    2.为什么要用生成器

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

    3.如何用生成器

python基础-生成器

标签:src   nbsp   代码   相同   出现   执行   image   ext   info   

原文地址:https://www.cnblogs.com/linbin7/p/10660487.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!