0Pricing
Learn AI with Python · Lekcja

Iteratory i obiekty iterowalne

Poznaj protokół iteratora, aby tworzyć własne zachowania iteracyjne.

Iteratory i obiekty iterowalne to bezpłatna lekcja Learn AI with Python 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 Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python 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 nauczą się Państwo, jak działają iteratory i obiekty iterowalne oraz jak tworzyć własne iteratory.

Iteratory i obiekty iterowalne — ilustracja 1

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, 3

Czym 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: 3

Różnica między obiektami iterowalnymi a iteratorami

Różnica między obiektami iterowalnymi a iteratorami

Obiekty iterowalne można przeglądać w pętli (np. listy), 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

Niestandardowe iteratory można tworzyć, 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, 5

Korzystanie z funkcji iter()

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: 1

Obsł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:
        break

Iteratory a generatory

Iteratory a generatory

Generatory są prostszym sposobem 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, 3

Typowe błędy dotyczące iteratorów

Typowe błędy dotyczące iteratorów

Oto kilka błędów, których należy unikać:

  • Brak implementacji metod __iter__() i __next__() w niestandardowych iteratorach.
  • Nieprawidłowe obsługiwanie wyjątków StopIteration.
  • Mylenie iteratorów z obiektami iterowalnymi.

Czego się nauczyliśmy?

Czego się nauczyliśmy?

W tej lekcji nauczyli się Państwo:

  • Różnicy między obiektami iterowalnymi a iteratorami.
  • Sposobu używania metod __iter__() i __next__() do tworzenia niestandardowych iteratorów.
  • Sposobu używania funkcji iter() i obsługi wyjątków StopIteration.
  • Sposobu, w jaki generatory upraszczają tworzenie iteratorów.

Świetnie! Przejdźmy do następnego tematu.

Iteratory i obiekty iterowalne — ilustracja 11

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 Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 5 lekcji w sumie.

Co nauczysz się w „Iteratory i obiekty iterowalne”?

Poznaj protokół iteratora, aby tworzyć własne zachowania iteracyjne. Ćwiczysz Learn AI with Python 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ąć Learn AI with Python?

Nie wymagamy żadnego doświadczenia. Learn AI with Python 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 Learn AI with Python?

Tak. Każda lekcja Learn AI with Python 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

  1. Dekoratory
  2. Generatory
  3. Menedżery kontekstu (instrukcje with)
  4. Wyrażenia składane (listy, zbiory i słowniki)
  5. Iteratory i obiekty iterowalne
← Powrót do Learn AI with Python