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'