Как написать генератор

Python Middle Без компании
Как написать генератор
Ответы
Генератор в 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 ``` **Ключевые особенности:** - Ленивое вычисление — значения генерируются по требованию. - Сохраняет состояние между вызовами. - Потребляет меньше памяти, чем списки, так как не хранит все элементы сразу. **Генераторные выражения:** ``` squares = (x**2 for x in range(10)) # Круглые скобки вместо квадратных ``` Генераторы полезны для обработки больших данных или бесконечных последовательностей.