Курс Python → Создание генераторов в Python
Генераторы в Python представляют собой специальные объекты, которые позволяют эффективно создавать итерируемые последовательности значений без необходимости хранить их все в памяти одновременно. Вместо того, чтобы создавать список значений наперед, генераторы генерируют значения по мере необходимости.
Для создания генератора в Python используется синтаксис генераторного выражения, который выглядит как выражение, заключенное в круглые скобки, например: (i for i in range(10000)). Это позволяет создать генератор, который будет возвращать значения от 0 до 9999 по мере обращения к нему.
Использование генераторов вместо самописных итераторов позволяет экономить память, так как значения не хранятся в памяти целиком, а генерируются по мере необходимости. Это особенно полезно при работе с большими объемами данных, когда память становится критическим ресурсом.
# Пример использования генератора
gen = (i for i in range(10000))
for val in gen:
print(val)
В данном примере создается генератор, который возвращает значения от 0 до 9999. Затем значения из генератора выводятся на экран с помощью цикла for. При этом значения не хранятся в памяти целиком, что позволяет эффективно использовать ресурсы системы.
Другие уроки курса "Python"
- Сериализация объектов в Python
- Ключевое слово global в Python
- Генераторы в Python
- Обработка аргументов Python
- Подсчет элементов в Python
- Импорт в Python: список all
- Реверс строки в Python
- Пропуск начальных строк с помощью dropwhile()
- Метод rpow в Python
- Работа с прокси в Python
- Операторы увеличения и уменьшения в Python
- Копирование объектов в Python
- Распаковка элементов последовательности
- Оператор морж в Python 3.8
- Строковое представление объектов
- Python: изменяемые и неизменяемые коллекции
- Создание лямбда-функций
- Именование столбцов в Python с pandas
- Список переменных с %who
- Распаковка с оператором *
- Обработка исключений в Python
- Метод сравнения объектов в Python
- Удаление файлов в Python
- Расчет времени выполнения кода
- Возвращение нескольких значений
- Получение текущей директории
- Управление фоновыми задачами в Python
- Многострочные строки в Python
- Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
- Комментарии в Python
- Инверсия списка/строки в Python
- Лямбда-функции в Python
- Работа с базами данных SQLite
- Бесконечная проверка в Python
- Функция map() в Python
- Закрытие файла в Python
- Поиск с библиотекой Google
- Управление асинхронными задачами на Python.
- F-строки в Python 3.8
- Динамическая типизация в Python
- Метод title() в Python
- Оптимизация памяти в Python
- Кортеж в Python: создание и использование
- Слияние словарей в Python 3.9
- Преобразование объекта в строку
- Функция product() из itertools
- Логирование в Python















