lettura facile

Il metodo __next__() in Python

Nel linguaggio Python il metodo __next__() è utilizzato nelle classi iteratore per ottenere ogni elemento alla volta.

oggetto.__next__()

Il metodo restituisce un elemento alla volta, dal primo all'ultimo, dell'oggetto iteratore.

Una volta restituito l'ultimo elemento, ogni ulteriore utilizzo del metodo __next__() solleva un'eccezione StopIteration.

Ecco un esempio pratico.

Per prima cosa crea un oggetto iterabile, ad esempio una lista.

>>> myList=[1,2,3]

Poi converti la lista in un iteratore tramite il metodo __iter__() o, in alternativa, con la funzione iter()

>>> obj=myList.__iter__()

Una volta ottenuto l'iteratore, puoi accedere agli elementi della lista , uno dopo l'altro, utilizzando il metodo __next__()

>>>obj.__next__()
1
>>>obj.__next__()
2
>>>obj.__next__()
3

Ogni volta che richiami il metodo __next__(), questo restituisce l'elemento successivo.

Dopo aver restituito l'ultimo elemento della lista, se provi a eseguire ulteriormente il metodo __next__(), questo solleva l'eccezione StopIteration. Vuol dre che non ci sono più elementi da iterare.

>>>obj.__next__()

Traceback (most recent call last):
File "/home/main.py", line 6, in <module>
print(obj.__next__())
StopIteration

Ricorda che puoi accedere agli elementi dell'iteratore anche usando la funzione next() di Python

 

 

 




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin