W języku Java deklaracja interfejsu realizującego tę abstrakcję mogłaby wyglądać następująco:
public interface IterListy { void pierwszy(); void ostatni(); void następny(); boolean czy_ostatni(); }
// ...
public void przetwarzaj_listę(IterListy iter_listy) { while (! iter_listy.czy_ostatni())
// zrób coś iter_listy.następny();
Dla porównania, w języku Python żadna formalna deklaracja nie jest potrzebna, kod przetwarzający listy po prostu odwołuje się do odpowiednich metod obiektu:
def przetwarzaj_listę(iter_listy): while not iter_listy.czy_ostatni(): # zrób coś iter_listy.następny()
W rzeczywistości, w Pythonie abstrakcja iteratora jest wbudowana w język, wobec czego powyższy fragment można przepisać jako: def przetwarzaj_listę(lista): for obiekt in lista: # zrób coś
Pętla for użyta w tym fragmencie doskonale ilustruje użyteczność abstrakcji – ponieważ całkowicie pomijane są jakiekolwiek charakterystyczne cechy przetwarzanych kolekcji obiektów, for może z równym powodzeniem obsługiwać każdą z nich, pod warunkiem jedynie że dany typ implementuje odpowiedni zbiór operacji. Dzięki temu for stosować można do list, słowników, krotek, zbiorów itd. Jednocześnie unika się angażowania w szczegóły implementacji nieistotne dla rozwiązywanego problemu, tj.