Python a-z

Twoje centrum interaktywnej nauki Pythona: fiszki, przykłady kodu i edytor w przeglądarce.

Poziom: średni Fiszka #146 · Python

Jak działają i jak używać generatorów i wyrażeń generatorowych?

💡 Wskazówka do nauki: Zanim odsłonisz odpowiedź poniżej, spróbuj samodzielnie sformułować definicję lub napisać krótki przykład kodu w głowie (albo w naszym edytorze online).

Pokaż odpowiedź i przykład kodu

Opis i wyjaśnienie:

Generatory to funkcje, które pozwalają na tworzenie iteratorów w sposób używający słowa kluczowego yield. Wyrażenia generatorowe to kompaktowa forma generatorów, używająca składni podobnej do list comprehension, ale zwracająca generator zamiast listy. Generatory i wyrażenia generatorowe są szczególnie przydatne przy przetwarzaniu dużych zbiorów danych ze względu na niskie zużycie pamięci.

Przykład w Pythonie:

def licz():
    n = 0
    while True:
        yield n
        n += 1
 g = licz()
print(next(g), next(g))