Курс Python → Генераторы в Python

Генераторы (generators) в Python представляют собой специальный тип функций, которые позволяют создавать итераторы. Они позволяют нам создавать последовательности значений, не занимая много памяти, так как значения генерируются по требованию.

Давайте рассмотрим пример генератора my_range, который создает итератор, возвращающий числа от start до stop с заданным шагом step:


def my_range(start, stop, step):
    while start < stop:
        yield start
        start += step

В данном примере функция my_range использует ключевое слово yield для возврата значений по одному при каждом вызове функции next(). Таким образом, мы можем итерироваться по результатам генератора, не занимая лишнюю память для хранения всей последовательности чисел.

Использование генераторов особенно удобно при работе с большими объемами данных, когда создание списка значений занимает много ресурсов. Генераторы позволяют нам эффективно обрабатывать данные в потоке, по мере их генерации, что повышает производительность программы.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Функция zip() для объединения списков
  2. Создание коллекций из выражения-генератора
  3. Создание пар из последовательностей
  4. Определение функций с необязательными аргументами
  5. Метод rsub для пользовательских чисел
  6. Удаление элементов из списка в Python.
  7. Основы работы со списками
  8. Оформление кода по PEP 8
  9. Возврат нескольких значений
  10. Инициализация переменных
  11. Проблемы с именами переменных
  12. Python union() функция — объединение множеств
  13. Возврат нескольких значений
  14. Функция enumerate в Python
  15. Поиск частых элементов в списке
  16. Пропуск начальных строк с помощью dropwhile()
  17. Логические значения в Python
  18. Избегание изменяемых аргументов
  19. Python Ellipsis использование
  20. Преобразование списков в словарь
  21. Объединение строк с помощью метода join
  22. Уникальность ключей в словаре
  23. Python: изменяемые и неизменяемые коллекции
  24. Проверка элемента в множестве.
  25. Работа со строками в Python
  26. Python 3.12: Псевдонимы типов
  27. Модуль inspect
  28. Lambda-функция в Python: использование с map() и sum()
  29. Метод split() для разделения строк
  30. Перебор элементов списка в Python
  31. Блок try-except-else
  32. Работа с путями в Python
  33. Оператор * в Python
  34. Поиск индекса элемента в списке
  35. Принципы программирования
  36. Получение ID текущего процесса
  37. Обезопасьте ввод данных
  38. Метод join() для объединения элементов строки
  39. Счетчик в Python: most_common()
  40. Установка и обучение ChatterBot
  41. Итерация по итерируемым объектам
  42. Преобразование регистра строк
  43. Создание задания в Cron
  44. Комментарии в Python
  45. Оператор распаковки в Python
  46. Генерация QR-кодов с библиотекой qrcode
  47. Печать календаря

Marketello читают маркетологи из крутых компаний