Est générateur.next() visible en python 3.0?

J'ai un générateur qui génère une série, par exemple:

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

dans la version 2.6 de python, je suis en mesure de faire les appels suivants:

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

cependant dans la version 3.0 si j'exécute les deux mêmes lignes de code, j'obtiens l'erreur suivante:

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

mais, la boucle de l'itérateur de la syntaxe ne fonctionne dans la version 3.0

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

Je n'ai pas été en mesure de trouver encore rien qui explique cette différence de comportement pour la 3.0.

InformationsquelleAutor jottos | 2009-07-02