【发布时间】:2011-04-17 06:37:33
【问题描述】:
我尝试阅读有关 python 生成器的信息,但对生成器可以做什么的概念不太了解,我是 python 新手
请告诉我 谢谢
【问题讨论】:
-
你应该从协程和延续开始学习生成器背后的一般思想。 en.wikipedia.org/wiki/Coroutine, en.wikipedia.org/wiki/Continuation
我尝试阅读有关 python 生成器的信息,但对生成器可以做什么的概念不太了解,我是 python 新手
请告诉我 谢谢
【问题讨论】:
【讨论】:
简单地说,Python 中的生成器是一个可以在生成的值之间维护状态的函数。阅读this。
【讨论】:
虽然 Yassin 的回答完全正确,但我宁愿换一种解释:生成器是一个随时间返回多个值的函数,其中每个值都会在您请求时生成(并返回)。
【讨论】:
http://docs.python.org/tutorial/classes.html#generators先阅读这篇文章。
基本上,生成器是可迭代的对象。这里的神奇词是yield。 不用使用 return 语句,而是使用 yield,它不会停止函数的执行,而是返回一些东西。为了让您能够使用生成器返回的内容,您必须对其进行迭代。
【讨论】: