这是我定义了两个生成器的代码:
one_line_gen = (x for x in range(3))
def three_line_gen():
yield 0
yield 1
yield 2
当我执行时:
for x in one_line_gen:
print x
for x in one_line_gen:
print x
结果如预期:
0
1
2
但是,如果我执行:
for x in three_line_gen():
print x
for x in three_line_gen():
print x
结果是:
0
1
2
0
1
2
为什么?我认为任何发电机都只能使用一次。