为什么这个代码产生一个发生器?
这个问题在这里已经有了答案:
因为你的yield是嵌套在for循环中的,所以你所有的值都会被添加到生成器表达式中。 生成器基本上等价于迭代器,除非迭代器保留值,除非被删除,而生成器则在运行中一次生成值。 发生器的下一个方法在使用for循环而不是生成器时被隐式调用。
另外,您必须记住return关键字返回一个值,并且只返回值,就像yield一样。 该函数返回一个生成器对象,其中的yield可以生成所有提供的值。 标准返回语句虽然返回一个值并退出该函数,以便不返回其他值。
链接地址: http://www.djcxy.com/p/1565.html