Risposte:
In Python <= 2.5, usa gen.next(). Funzionerà per tutte le versioni di Python 2.x, ma non per Python 3.x
In Python> = 2.6, usa next(gen). Questa è una funzione incorporata ed è più chiara. Funzionerà anche in Python 3.
Entrambi finiscono per chiamare una funzione dal nome speciale next(), che può essere sovrascritta dalla sottoclasse. In Python 3, tuttavia, questa funzione è stata rinominata in __next__(), per essere coerente con altre funzioni speciali.
Questo è il modo corretto per farlo.
Puoi anche usare next(gen).
Per ottenere il valore associato a un oggetto generatore in python 3 e versioni successive, utilizzare next(<your generator object>). le chiamate successive a next () producono i valori degli oggetti successivi nella coda.
In python 3 non hai gen.next(), ma puoi ancora usare next(gen). Un po 'bizzarro se me lo chiedi, ma è così.
W1 = params.next()ma ricevi un erroreAttributeError: 'generator' object has no attribute 'next'