Réponses:
En Python <= 2.5, utilisez gen.next(). Cela fonctionnera pour toutes les versions de Python 2.x, mais pas pour Python 3.x
En Python> = 2.6, utilisez next(gen). C'est une fonction intégrée, et c'est plus clair. Cela fonctionnera également en Python 3.
Les deux finissent par appeler une fonction spécialement nommée next(), qui peut être remplacée par le sous-classement. Dans Python 3, cependant, cette fonction a été renommée en __next__(), pour être cohérente avec d'autres fonctions spéciales.
C'est la bonne façon de procéder.
Vous pouvez également utiliser next(gen).
Pour obtenir la valeur associée à un objet générateur en python 3 et supérieur, utilisez next(<your generator object>). les appels suivants à next () produisent des valeurs d'objet successives dans la file d'attente.
En python 3, vous n'avez pas gen.next(), mais vous pouvez toujours utiliser next(gen). Un peu bizarre si vous me demandez mais c'est comme ça.
W1 = params.next()mais obtenez une erreurAttributeError: 'generator' object has no attribute 'next'