收益不起作用,但回报确实

这个问题在这里已经有了答案:

  • “yield”关键字有什么作用? 36个答案

  • 通过在join方法中放入一个yield语句,可以使它成为一个生成器。 调用生成器方法只是创建一个生成器函数; 你需要遍历它来获取数据。 但是,由于发生器内部的执行每次遇到yield语句都会停止,因此如果要使其完全运行,则需要耗尽其中的所有内容。

    通过这种方式,您的代码可以一直运行:

    join_gen = bot.join(channels)
    for error_msg in join_gen:
        print error_msg
    

    Python 2文档中的生成器

    虽然我不确定发电机是否适合您。 当您遇到第一个错误时,或者您想要遍历所有渠道,将每个错误响应追加到错误列表中,并在完成后返回该列表,您可能会更好地response正确答案。

    链接地址: http://www.djcxy.com/p/1551.html

    上一篇: Yield does not work, but return does

    下一篇: What does "for i in generator():" do?