Czy generator.next () jest widoczny w Pythonie 3.0?

Mam generator, który generuje serię, na przykład:

def triangleNums():
    '''generate series of triangle numbers'''
    tn = 0
    counter = 1
    while(True):
        tn = tn + counter
        yield tn
        counter = counter + 1

w python 2.6 mogę wykonywać następujące połączenia:

g = triangleNums() # get the generator
g.next()           # get next val

jednak w wersji 3.0, jeśli wykonam te same dwie linie kodu, otrzymuję następujący błąd:

AttributeError: 'generator' object has no attribute 'next'

ale składnia iteratora pętli działa w wersji 3.0

for n in triangleNums():
    if not exitCond:
       doSomething...

Nie udało mi się jeszcze niczego znaleźć, co wyjaśnia tę różnicę w zachowaniu dla wersji 3.0.

questionAnswers(3)

yourAnswerToTheQuestion