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ę.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
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
2Tworzenie własnych iteratorów
Implementowanie __iter__()Implementowanie __next__()Iteratory nieskończonePoćwicz samodzielnie: Kompilator Python online