generator()
初始化新的生成器对象:
In [4]: generator() is generator() # Creating 2 separate objects
Out[4]: False
然后generator().next()
从新创建的生成器对象获取第一个值(在您的情况下为 0 )。
您应该致电generator
一次:
In [5]: gen = generator() # Storing new generator object, will reuse it
In [6]: [gen.next() for _ in range(6)] # Get first 6 values for demonstration purposes
Out[6]: [0, 0, 0, 0, 0, 1]
注意 :generator.next
已从Python 3(PEP 3114)中删除- 改为使用该next
函数:
In [7]: next(gen)
Out[7]: 1