Python Language .next () metodo sugli iteratori rinominato


Esempio

In Python 2, un iteratore può essere attraversato usando un metodo chiamato next sull'iteratore stesso:

Python 2.x 2.3
g = (i for i in range(0, 3))
g.next()  # Yields 0
g.next()  # Yields 1
g.next()  # Yields 2

In Python 3 il metodo .next è stato rinominato in .__next__ , riconoscendo il suo ruolo "magico", quindi chiamando .next genererà un AttributeError . Il modo corretto per accedere a questa funzionalità sia in Python 2 che in Python 3 è chiamare la funzione next con l'iteratore come argomento.

Python 3.x 3.0
g = (i for i in range(0, 3))
next(g)  # Yields 0
next(g)  # Yields 1
next(g)  # Yields 2

Questo codice è portatile tra le versioni dalla 2.6 alla versione corrente.