Курс 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
- Получение частей дроби
- Принципы Zen of Python
- Пустой оператор pass в Python
- Освобождение памяти в Python
- Эффективная конкатенация строк с использованием join()
- Многоточие в Python
- Метод getitem для доступа к элементам последовательности
- Функция __init__ в Python
- discard() — удаление элемента из множества
- Оболочка Python
- Проверка однородности элементов списка
- Проверка версии Python
- Форматирование данных с помощью pprint
- Инициализация объекта
- Ошибка NotImplemented в Python
- Склеивание строк без циклов
- Генерация случайных чисел Python
- Измерение времени выполнения с помощью time
- Тип CodeType в Python.
- Работа с Event() в threading
- Импорт классов из другого файла
- Стать Python-разработчиком
- Работа с enumerate()
- Отладка производительности Python
- Парсинг статей с Newspaper3k
- Операции с матрицами в Python
- Проблема с изменяемыми аргументами
- Вычисление натуральных логарифмов в NumPy
- Многострочные комментарии в Python
- Модуль functools в Python
- Особенности запятых в Python
- Срезы в Numpy
- Создание виртуальной среды
- Работа с комплексными числами
- Область видимости переменных в Python
- Определение имен функций
- Поиск частого элемента
- Метод ifloordiv для пользовательских классов
- *args и **kwargs в Python
- Кортеж в Python: создание и использование
- Открытие и редактирование скриптов Python
- Транспонирование 2D-массива с помощью zip
- Оператор is в Python
- Метод join() для объединения элементов строки















