在python中使用了yield 的函数称为生成器。
跟普通函数不同,生成器是一个返回迭代器的函数,只能用于迭代操作
在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。
除了创建和保存程序状态的自动方法,当生成器终结时,还会自动抛出StopIteration异常。
#生成器
import sys
def Back(data):
for i in range(len(data)-1, -1, -1):
yield data[i]
b = Back("131415")
while True:
try:
print(next(b))
except StopIteration:
sys.exit(1)
本文深入探讨了Python中生成器的概念,解释了生成器如何通过yield关键字实现迭代器的创建和状态保存,以及在每次调用next()方法时如何从上次停止的位置继续执行。此外,还介绍了生成器结束时自动抛出的StopIteration异常。
167

被折叠的 条评论
为什么被折叠?



