我有一个生成一个系列,例如发电机:
def triangleNums():
'''generate series of triangle numbers'''
tn = 0
counter = 1
while(True):
tn = tn + counter
yield tn
counter = counter + 1
在Python 2.6我能够做出以下电话:
g = triangleNums() # get the generator
g.next() # get next val
然而,在3.0,如果我执行的代码,我发现了以下错误相同的两条线:
AttributeError: 'generator' object has no attribute 'next'
但是,将循环迭代语法确实在工作3.0
for n in triangleNums():
if not exitCond:
doSomething...
我已经无法找到任何东西,解释为3.0这种行为差异。