菜单
  

    5.程序执行g.send(7),程序会从yield关键字那一行继续向下运行,send会把7这个值赋值给res变量

    6.由于send方法中包含next()方法,所以程序会继续向下运行执行print方法,然后再次进入while循环

     

    7.程序执行再次遇到yield关键字,yield会返回后面的值后,程序再次暂停,直到再次调用next方法或send方法。

    这就结束了,说一下,为什么用这个生成器,是因为如果用List的话,会占用更大的空间,比如说取0,1,2,3,4,5,6............1000

    你可能会这样:论文网

    for n in range(1000):

        a=n

    这个时候range(1000)就默认生成一个含有1000个数的list了,所以很占内存。

    这个时候你可以用刚才的yield组合成生成器进行实现,也可以用xrange(1000)这个生成器实现

    yield组合:

    def foo(num):

        print("starting...")

        while num<10:

            num=num+1

            yield num

    for n in foo(0):

        print(n)

    输出:

     

    starting...

     xrange(1000):

    for n in xrange(1000):

        a=n

     其中要注意的是python3时已经没有xrange()了,在python3中,range()就是xrange()了,你可以在python3中查看range()的类型,它已经是个<class 'range'>了,而不是一个list了,毕竟这个是需要优化的。 

  1. 上一篇:自带白胡子的绅士喵绅士
  2. 下一篇:阿里云ntp服务器地址和端口
  1. 高中生环境意识培养现状调查问卷

  2. 高中力学学习情况问卷调查表

  3. 中共党史学习教育心得体会800字

  4. 党史学习教育心得体会

  5. 中国联通的流量营销调查问卷

  6. 公共财政支出在经济适用...

  7. 体育兴趣小组在中小学开展现状调查问卷表

  8. 上市公司债务税盾文献综述和参考文献

  9. 淮安乐天玛特连锁超市4P营销策略分析

  10. 小学课堂教学效率国内外研究现状和参考文献

  11. Bootstrap的OpenGL人体模型仿真

  12. PLC焊机电气控制系统设计开题报告

  13. MATLAB动车组列车牵引变流...

  14. 跨国企业全球营销策略的市场定位调查

  15. 友谊质量调查问卷表

  16. PLC启闭机液压系统设计及其故障诊断

  17. 多智能体系统一致性问题研究

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回