Sé que esto es vergonzoso porque ¿por qué no funciona? W1 = params.next()pero aparece un errorAttributeError: 'generator' object has no attribute 'next'
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.
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.
No es tan extraño. Se supone que Python 3 rompe cosas y solo permite el mejor código más claro. No tener compatibilidad con versiones anteriores es el punto de algunos cambios importantes.
W1 = params.next()
pero aparece un errorAttributeError: 'generator' object has no attribute 'next'
En Python <= 2.5, use
gen.next()
. Esto funcionará para todas las versiones de Python 2.x, pero no para Python 3.xEn 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.fuente
Usar (para python 3)
Aquí hay un ejemplo
debería imprimir
fuente
Esta es la forma correcta de hacerlo.
También puede utilizar
next(gen)
.http://docs.python.org/library/functions.html#next
fuente
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.fuente
En Python 3 no tiene
gen.next()
, pero aún puede usarnext(gen)
. Un poco extraño si me preguntas, pero así es.fuente