Respuestas:
En Python <= 2.5, use gen.next()
. Esto funcionará para todas las versiones de Python 2.x, pero no para Python 3.x
En Python> = 2.6, use next(gen)
. Esta es una función incorporada y es más clara. También funcionará en Python 3.
Ambos terminan llamando a una función con un nombre especial next()
, que puede anularse mediante subclases. En Python 3, sin embargo, se ha cambiado el nombre de esta función para __next__()
que sea coherente con otras funciones especiales.
Esta es la forma correcta de hacerlo.
También puede utilizar next(gen)
.
Para obtener el valor asociado con un objeto generador en python 3 y superior, use next(<your generator object>)
. las llamadas posteriores a next () producen valores de objeto sucesivos en la cola.
En Python 3 no tiene gen.next()
, pero aún puede usar next(gen)
. Un poco extraño si me preguntas, pero así es.
W1 = params.next()
pero aparece un errorAttributeError: 'generator' object has no attribute 'next'