Привет! Сегодня поговорим о генераторах — мощном инструменте в Python, который позволяет создавать элементы по мере необходимости и экономить память. 1. Что такое генератор?
Генератор — это особая функция, которая не возвращает сразу все значения, а генерирует их по одному с помощью yield. Пример: обычная функция vs генератор Как работает `yield`? В отличие от return, оператор yield сохраняет состояние функции. Вывод: 3. Генераторы против списков
Что лучше: список или генератор?
| Список | Генератор |
| Загружает всю память | Создает элементы по одному |
| Быстрый доступ к любому элементу | Можно итерироваться только один раз |
| Работает быстрее при маленьких объемах данных | Работает быстрее при больших данных | Пример: разница в памяти 4. Бесконечные последовательности с генераторами
Ты можешь создать бесконечный генератор! 5. Генераторы + `yield from` Если у нас есть вложенные генераторы, можно использовать yield from. Вывод: `yield from` передает управление другому генерат