生成器和 yield 语句
在 Python 中,生成器(Generators)是一种特殊的迭代器,它们由一类特殊的函数——生成器函数(Generator Functions)返回。生成器函数与普通函数的主要区别在于,生成器函数使用 yield
语句而不是 return
语句来返回序列中的元素。
生成器的基本概念
生成器允许我们定义更复杂的迭代,利用 Python 解释器的特性。生成器不使用对象的属性来跟踪它们在序列中的进度,而是控制生成器函数的执行,每次调用生成器的 __next__
方法时,函数会运行直到执行下一个 yield
语句。
生成器函数的定义
生成器函数使用 yield
语句来返回序列中的元素。每次调用生成器的 __next__
方法时,生成器函数会从上次暂停的地方继续执行,直到遇到下一个 yield
语句。
示例:字母生成器
下面是一个简单的字母生成器示例:
def letters_generator():
current