Menu
Coddy logo textTech

Czym są iteratory?

Lekcja 1 z 13 w kursie Iteratory w Pythonie w Coddy.

Iteratory to podstawowe pojęcie w Pythonie, które umożliwia przechodzenie przez kolekcję elementów, jeden po drugim. Pozwalają uzyskiwać sekwencyjny dostęp do elementów obiektu kontenera bez konieczności znajomości jego wewnętrznej struktury.

Czym jest iterator?

Iterator w Pythonie to obiekt implementujący dwie specjalne metody:

  • __iter__(): Zwraca sam obiekt iteratora.
  • __next__(): Zwraca następną wartość w iteracji.

Iteratory służą do iterowania po obiektach iterowalnych. Gdy używasz pętli for w Pythonie, za kulisami korzystasz z iteratora.

Obiekt iterowalny a iterator

Ważne jest, aby zrozumieć różnicę między obiektem iterowalnym a iteratorem:

Obiekt iterowalny Iterator
Obiekt, który może zwracać swoje elementy jeden po drugim Obiekt reprezentujący strumień danych
Implementuje metodę __iter__() Implementuje obie metody: __iter__() i __next__()
Przykłady: listy, krotki, ciągi znaków Tworzony z obiektu iterowalnego za pomocą funkcji iter()

Przykład użycia iteratora

Oto prosty przykład użycia iteratora w Pythonie:

my_list = [1, 2, 3, 4, 5]
my_iterator = iter(my_list)

print(next(my_iterator))  # Wynik: 1
print(next(my_iterator))  # Wynik: 2
print(next(my_iterator))  # Wynik: 3

W tym przykładzie my_list jest obiektem iterowalnym, a my_iterator to iterator utworzony na jego podstawie za pomocą funkcji iter(). Następnie używamy funkcji next(), aby pobierać elementy z iteratora jeden po drugim.

Iteratory odgrywają kluczową rolę w Pythonie, zapewniając oszczędny pod względem pamięci sposób obsługi dużych zbiorów danych i umożliwiając ich leniwą ewaluację.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Spróbuj swoich sił

Ta lekcja nie zawiera wyzwania z kodem.

Wszystkie lekcje w sekcji Iteratory w Pythonie

Poćwicz samodzielnie: Kompilator Python online