摘要: 1.引例 上述代码有一个弊端就是,必须得等到生产者把所有的‘包子’都生产完,再交给消费者‘吃包子’。这样浪费了内存,消费者只能等待生产者。 2.send()函数的功能 send()函数有着与__next__()方法一样的功能,使生成器运行到第一个yield为止。send()的另一个功能是,能将括号内 阅读全文
posted @ 2019-02-27 12:22 sword23 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 注意事项: 1.生成器只能遍历一次(母鸡一生只能下一定数量的蛋,下完了就死掉了) 在上述代码中,单赛季所占总得分的比例求不出来,这是因为,生成器只能遍历一次。在我们执行sum语句的时候,就遍历了我们的生成器,当我们再次遍历我们的生成器的时候,将不会有任何记录。所以,上面的代码不会有任何输出。 因此, 阅读全文
posted @ 2019-02-26 16:45 sword23 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 1>迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 2.可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个__iter__()方法) 3.协议是一种约定,可 阅读全文
posted @ 2019-02-24 23:15 sword23 阅读(180) 评论(0) 推荐(0) 编辑