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'