lettura facile

Il metodo __iter__() di Python

Il metodo __iter__() del linguaggio Python ti permette di definire un oggetto come iteratore.

oggetto.__iter__()

Questo metodo restituisce un oggetto iteratore.

Dopo aver definito l'oggetto iteratore, puoi scorrere gli elementi dell'oggetto dal primo all'ultimo tramite il metodo __next__().

Il metodo __next__() restituisce il prossimo valore dall'iteratore. Se non ci sono più elementi da restituire, dovrebbe sollevare l'eccezione StopIteration.

Ecco un esempio pratico di come puoi implementare un iteratore in Python.

Definisci una lista con tre elementi.

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

Poi trasforma la lista in un oggetto iteratore usando il metodo __iter__()

>>> obj=myList.__iter__()

Ora puoi leggere gli elementi della lista in sequenza, uno dopo l'altro, usando il metodo __next__()

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

Dopo aver letto l'ultimo elemento dell'oggetto iterabile, se provi a utilizzare nuovamente il metodo __next__(), questo solleva l'eccezione StopIteration, che indica 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 trasformare un oggetto iterabile in un iteratore anche usando la funzione iter() di Python




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




FacebookTwitterLinkedinLinkedin