一旦我使用了一个生成器,它就不能再使用了。为什么会这样呢?
考虑以下代码:
def generator(n):
a = 1
for _ in range(n):
yield a
a += 1
def run_generator(generator):
for a in generator:
print(a, end = " ")
如果我要执行以下命令:
count_generator = generator(10)
run_generator(count_generator)
run_generator(count_generator)
它只会打印:
1 2 3 4 5 6 7 8 9 10
基本上,生成器在一次执行后就会死掉。
我知道一个生成器只能使用一次的事实是Python内置的,但是为什么是这样呢?只允许一个生成器对象执行一次有什么特别的原因吗?
https://stackoverflow.com/questions/51032155
复制相似问题