Курс 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.
- Python defaultdict добавление ключа
- Преобразование числа в восьмеричную строку
- Обмен переменными в Jupyter
- Печать месячного календаря
- Solidity для DeFi Ethereum
- Функция format() в Python
- Сложение матриц в NumPy
- Многострочные строки в Python
- Работа с модулем os в Python
- Работа с IP-адресами в Python
- Генераторы в Python
- Обновление данных через PUT запрос
- Подписка на Kaspersky Team
- Python-dateutil — работа с датами
- Ускоренный импорт библиотек
- Простой калькулятор Python
- Решатель судоку на Python с pygame
- Defaultdict в Python
- Создание словарей и множеств в Python.
- Бинарный поиск
- Настройка Cron
- Bootle — простой веб-фреймворк
- Codecademy в Telegram
- Атрибуты класса и экземпляра
- Слияние словарей в Python 3.9
- Метод __iand__ для пользовательских классов
- Объединение словарей в Python
- Проблемы с именами переменных
- Возврат нескольких значений
- Удаление символов новой строки в Python.
- Кортеж в Python: создание и использование
- Форматирование вывода с F-строками
- GitHub в Telegram: подписка на уведомления
- Приоритет операций в Python
- Форматирование заголовков в Python
- Измерение времени выполнения кода
- Работа с CSV в Python
- Импорт модуля из другого каталога
- Виртуальные среды в Python
- Разделение строк в Python
- Сортировка и обратный порядок
- Работа с контекст-менеджером «with»
- Измерение времени выполнения кода
- Перевод эмодзи и эмотиконов.















