Курс Python → Генераторы в Python
Генераторы (generators) — это мощный инструмент в Python, который позволяет создавать итераторы, способные генерировать значения на лету. Они позволяют экономить память, так как не требуется хранить все значения в памяти сразу. Генераторы могут быть особенно полезны, когда нужно обработать большой объем данных или когда требуется выполнять итерацию только один раз.
Пример использования генератора в Python:
def my_generator(n):
for i in range(n):
yield i ** 2
squares = my_generator(5)
for square in squares:
print(square)
В данном примере мы создаем генератор my_generator, который возвращает квадраты чисел от 0 до n-1. Функция yield используется для возврата следующего элемента генератора, при этом сохраняется состояние функции. Это позволяет продолжить выполнение функции с того же места, где она была приостановлена.
После создания генератора мы используем цикл for для итерации по элементам генератора squares. При каждой итерации получаем следующее значение из генератора, что позволяет нам получить квадраты чисел от 0 до 4. После прохождения всех элементов генератора итерация завершается.
Использование генераторов в Python позволяет сделать код более эффективным и понятным. Они позволяют легко создавать итераторы для обработки данных, особенно в случаях, когда требуется работать с большими объемами данных или когда нужно выполнить итерацию только один раз.
Другие уроки курса "Python"
- Транспонирование 2D-массива с помощью zip
- Модуль Antigravity в Python 3
- Экспорт данных с помощью writefile
- Работа с файлами в Python
- Нан-рефлексивность в Python
- Defaultdict в Python
- Многострочные строки в Python
- Функции в Python
- Метод join() для объединения элементов строки
- Игра «Камень, ножницы, бумага» — Python
- Искажение имен в Python
- Работа с NumPy массивами
- Виртуальные среды в Python
- Генераторы списков в Python
- Импорт модуля из другого каталога
- Разработка игры Pong с turtle
- Функция all() в Python
- Значения по умолчанию в Python
- Передача словаря через **kwargs
- Метод getitem для доступа к элементам последовательности
- Запуск внешнего кода в Jupyter
- Конкатенация строк в Python
- Изменение списка срезами
- Сокращение ссылок с pyshorteners
- Функция divmod() в Python
- Оформление текста в консоли с TermColor
- Создание новых функций с помощью functools.partial
- Руководство по библиотеке pydantic
- Обход словаря в Python
- Python Менеджер контекста
- Сортировка данных с лямбда-функциями
- Логический оператор «and» в Python
- Управление асинхронными задачами на Python.
- Экспорт данных в файл.
- Метод rsub в Python: расширение функциональности вычитания
- Проверка памяти объекта
- Функции с дополнением
- Синхронизация доступа к ресурсам
- Работа со временем в Python
- Особенности множеств в Python
- Установка и использование emoji
- Просмотр файла в Jupyter Noteboo
- Логические значения в Python
- Основы работы с os















