Iteratory i obiekty iterowalne
Poznaj protokół iteratora i dowiedz się, jak tworzyć własne zachowanie iteracji
Iteratory i obiekty iterowalne to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 5 z 5. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 5 lekcji w sumie.
Wprowadzenie do iteratorów i obiektów iterowalnych
Wprowadzenie do iteratorów i obiektów iterowalnych
Iteratory i obiekty iterowalne to podstawowe pojęcia w Pythonie, które umożliwiają pracę z sekwencjami danych. Stanowią podstawę pętli, wyrażeń składanych i generatorów.
W tej lekcji dowiedzą się Państwo, jak działają iteratory i obiekty iterowalne oraz jak tworzyć własne iteratory.

Czym jest obiekt iterowalny?
Czym jest obiekt iterowalny?
Obiekt iterowalny to dowolny obiekt w Pythonie, po którym można iterować za pomocą pętli for. Przykładami są listy, krotki, zbiory i słowniki.
# Example of an iterable
my_list = [1, 2, 3]
for item in my_list:
print(item) # Outputs: 1, 2, 3Czym jest iterator?
Czym jest iterator?
Iterator to obiekt reprezentujący strumień danych. Implementuje metody __iter__() i __next__().
# Example of an iterator
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator)) # Outputs: 1
print(next(iterator)) # Outputs: 2
print(next(iterator)) # Outputs: 3Różnica między obiektami iterowalnymi a iteratorami
Różnica między obiektami iterowalnymi a iteratorami
Po obiektach iterowalnych można iterować, na przykład po listach, natomiast iteratory zwracają po jednym elemencie za pomocą metody next(). Obiekt iterowalny staje się iteratorem po przekazaniu go do funkcji iter().
Tworzenie niestandardowych iteratorów
Tworzenie niestandardowych iteratorów
Można tworzyć niestandardowe iteratory, definiując klasę z metodami __iter__() i __next__():
# Custom iterator example
class Counter:
def __init__(self, start, end):
self.current = start
self.end = end
def __iter__(self):
return self
def __next__(self):
if self.current > self.end:
raise StopIteration
self.current += 1
return self.current - 1
counter = Counter(1, 5)
for number in counter:
print(number) # Outputs: 1, 2, 3, 4, 5Korzystanie z funkcji <code>iter()</code>
Korzystanie z funkcji iter()
Funkcja iter() zwraca obiekt iteratora na podstawie obiektu iterowalnego:
# Using iter() on a list
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator)) # Outputs: 1Obsługa <code>StopIteration</code>
Obsługa StopIteration
Po wyczerpaniu iteratora zgłaszany jest wyjątek StopIteration. W ten sposób Python sygnalizuje koniec sekwencji.
# Handling StopIteration
my_list = [1, 2, 3]
iterator = iter(my_list)
while True:
try:
print(next(iterator))
except StopIteration:
breakIteratory a generatory
Iteratory a generatory
Generatory to prostszy sposób tworzenia iteratorów. Automatycznie implementują metody __iter__() i __next__().
# Example of a generator as an iterator
def my_generator():
yield 1
yield 2
yield 3
for value in my_generator():
print(value) # Outputs: 1, 2, 3Typowe błędy związane z iteratorami
Typowe błędy związane z iteratorami
Oto błędy, których należy unikać:
- zapominanie o implementacji metod
__iter__()i__next__()w niestandardowych iteratorach, - nieprawidłowa obsługa wyjątków
StopIteration, - mylenie iteratorów z obiektami iterowalnymi.
Czego się nauczyliśmy?
Czego się nauczyliśmy?
W tej lekcji dowiedzieli się Państwo:
- czym różnią się obiekty iterowalne od iteratorów,
- jak używać metod
__iter__()i__next__()do tworzenia niestandardowych iteratorów, - jak używać funkcji
iter()i obsługiwać wyjątkiStopIteration, - jak generatory upraszczają tworzenie iteratorów.
Świetna praca! Przejdźmy do następnego tematu.

Często zadawane pytania
Czy lekcja „Iteratory i obiekty iterowalne” jest bezpłatna?
Tak — pełny tekst „Iteratory i obiekty iterowalne” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 5 lekcji w sumie.
Co nauczysz się w „Iteratory i obiekty iterowalne”?
Poznaj protokół iteratora i dowiedz się, jak tworzyć własne zachowanie iteracji Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Python Academy?
Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 5 z 5.
Ile czasu zajmuje lekcja „Iteratory i obiekty iterowalne”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?
Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Dekoratory
- Generatory
- Menedżery kontekstu (instrukcje with)
- Składane struktury danych (listy, zbiory i słowniki)
- Iteratory i obiekty iterowalne