Как реализован генератор в Python

Python Middle Без компании
Как реализован генератор в Python
Ответы
Генератор в Python — это функция, которая использует ключевое слово `yield` вместо `return`. При вызове она возвращает итератор, сохраняя состояние между вызовами. Пример: ``` def count_up_to(max): n = 1 while n <= max: yield n n += 1 counter = count_up_to(5) # создаёт генератор for num in counter: print(num) # 1, 2, 3, 4, 5 ``` Особенности: - Ленивые вычисления — значения генерируются по требованию. - Потребляют мало памяти, так как не хранят всю последовательность. - После завершения работы (`StopIteration`) повторно не используются. Можно создавать генераторные выражения: ``` gen = (x**2 for x in range(5)) # аналогично списковому, но с круглыми скобками ```