Курс Python → Генераторы в Python
Генераторы в Python — это функции, которые используют ключевое слово `yield` вместо `return`. Когда функция с `yield` вызывается, она возвращает объект-генератор, который можно итерировать по одному значению за раз. При каждой итерации генератор запоминает свое состояние, чтобы продолжить выполнение с того же места. Это позволяет экономить память и увеличивает производительность при работе с большими объемами данных.
Пример создания простого генератора:
def my_generator():
for i in range(5):
yield i
gen = my_generator()
for val in gen:
print(val)
В этом примере функция `my_generator` возвращает генератор, который поочередно выдает числа от 0 до 4. При каждой итерации цикла `for` будет выводиться следующее значение, не храня все значения в памяти одновременно.
Генераторы также могут быть бесконечными, если они используют цикл `while` или рекурсию. Они позволяют эффективно обрабатывать потенциально бесконечные последовательности данных, такие как потоки сетевых пакетов или событий.
Помимо создания собственных генераторов, в Python есть встроенные функции, которые возвращают генераторы. Например, функция `range()` возвращает ленивую последовательность чисел, что позволяет эффективно работать с большими диапазонами значений без необходимости хранить их все в памяти.
Использование генераторов в Python помогает сделать код более читаемым, компактным и эффективным. Они позволяют работать с данными по требованию, что особенно важно при обработке больших объемов информации или при работе с потенциально бесконечными последовательностями.
Другие уроки курса "Python"
- Генераторы в Python
- Равенство и идентичность в Python
- Профилирование данных с Pandas.
- Метод сравнения объектов в Python
- Копирование и вставка текста в Python
- Объединение списков в строку
- Работа с IP-адресами в Python
- Списки в Python
- Структуры данных в Python
- Генераторы в Python
- Построение графиков в Matplotlib
- Использование двоеточия в Python
- Создание namedtuple списком полей
- Обработка ошибок в Python
- Многоточие в Python
- Условные выражения в Python
- Изменение регистра данных
- Вычисление разности множеств в Python
- Проверка однородности элементов списка
- Многострочные комментарии в Python
- Получение ID процесса
- Добавление кнопки в tkinter
- Работа с комплексными числами
- Вывод символов строки в Python
- Потоковый ввод в Python
- Избегайте ошибку FileNotFoundError
- Ошибка NotImplemented в Python
- Запрос пароля с помощью getpass
- Big O оптимизация
- lru_cache оптимизация функций
- Расчет времени выполнения
- Частичное применение функций в Python
- Срезы в Python
- Область видимости переменных
- Изменение переменной в Python: nonlocal
- Блок else в Python
- Создание вложенного генератора
- Назначение максимального и минимального значения переменной в Python.
- Отправка HTTP-запросов в Python
- Работа с комплексными числами
- Проверка на истинность объектов в Python
- Colorama: окрашивание текста в Python
- Установка переменной среды в Python
- Подписка на Kaspersky Team
- Профилирование кода
- Создание словаря и множества
- Объединение множеств в Python
- Транспонирование 2D-массива с помощью zip















