【发布时间】:2018-11-07 10:40:18
【问题描述】:
我有这个生成器功能:-
def gen():
for i in range(3):
yield i*i
现在当我在gen() 上调用next() 时,它每次都给出第一个元素。
>>> next(gen())
0
>>> next(gen())
0
但是当我在 for 循环中使用它时,它会按预期工作:
>>> for i in gen():
... print(i)
...
0
1
4
有人可以解释造成这种影响的原因以及我在这里缺少的概念吗?
【问题讨论】:
标签: python python-3.x generator next