Python中的yield和send

创建生成器yield

1、第一种方法:


输出为:


2、第二种方法


输出为:


可以看到,调用next方法后输出第一个结果,然后进行for循环的后面的。

生成器的send方法


输出结果为:

总结

yield的用法是:记住上一次返回时在函数体中的位置,调用此函数从上一次返回的位置开始执行。 

send的用法时:send()方法返有一个参数,该参数指定的是上一次被挂起的yield语句的返回值。 

区别:当send()的参数为None时,正好与next方法等价。在调用send()方法时,要么先调用一次next()

到函数挂起的位置,或者直接send(None)。

yield form方法

yield from方法用于重构生成器


输出结果为:


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 包(lib)、模块(module) 在Python中,存在包和模块两个常见概念。 模块:编写Python代码的py...
    清清子衿木子水心阅读 9,228评论 0 27
  • 第5章 我看来,那些分时图迷,走入了误区,这就象过于专业化往往导致钻牛角尖一样,缺乏灵活性就会 付出沉重代价。投资...
    张炯鑫阅读 1,765评论 0 0
  • 06 宣布投票结果的日子如期而至。 这次推广的产品是一款男士的洗护用品,不少人认为男人对外包装抱着不在乎的态度,都...
    AnsonYip阅读 3,764评论 0 0
  • 1.感恩妈妈煮营养早餐给我们享用,让我们早上能睡得久一点。 2.感恩弟弟给儿子买的电话手表,在一番设置后儿子终于可...
    MissNiu_73b7阅读 1,355评论 0 0
  • 你每次走下来,我看着你,你看着手机! 我想和你说话,你玩着手机! 我想和你睡时,你玩着手机! 出去玩时,你还是玩着...
    bb208650b927阅读 1,486评论 0 0

友情链接更多精彩内容