Курс 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
- Получение списка кортежей из словаря
- Модуль math: константы π и e
- Модуль os: работа с файлами и папками
- Автоматизация действий с Pyautogui
- Открытие и редактирование скриптов Python
- Построение графиков в терминале с bashplotlib
- Работа с временем в Python
- Создание namedtuple списком полей
- Переменные в Python
- Цикл for с enumerate() в Python
- Создание копии списка в Python
- Получение локальных переменных в Python
- Удаление символа из строки
- Перебор элементов списка в Python
- Список методов и атрибутов
- Вызов внешних программ в Python с помощью sh
- Поток данных в Python
- Перевернуть список в Python
- Magic Commands — улучшение работы с Python
- Проверка кортежей.
- Группы исключений в Python
- Замена текста с помощью sub
- Измерение времени выполнения кода с использованием time
- Декоратор Ajax required
- Пересечение списков с использованием множеств
- Создание объекта timedelta
- Просмотр внешнего файла в Python
- Сортировка слиянием
- Профилирование кода
- Работа с изменяемыми списками
- Работа с каталогами в Python
- Создание графиков в терминале
- Переопределение метода __pow__
- Ускорение кода с помощью векторизации
- Преобразование Word в PDF с Spire.Doc
- Метод сравнения объектов в Python
- Подсчет часто встречающихся элементов
- Поиск анаграмм с Counter
- Изменяемые и неизменяемые объекты
- Работа с zip-архивами в Python
- Сохранение Unicode в JSON
- Сравнение def и lambda-функций
- Передача аргументов через **arguments
- Ускоренный импорт библиотек
- Фильтрация данных в Python.
- Создание уникального множества















