Курс 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. Добавление Progressbar в Python
  2. Вычисление фазы комплексного числа
  3. Сравнение строк в Python
  4. Метод get для словаря
  5. Метод split() в Python
  6. Использование функции product
  7. Взаимодействие с внешними процессами в Python
  8. Генераторные функции в Python
  9. Управление экспортом элементов
  10. Numpy: разбиение массивов
  11. Python и Монти Пайтон
  12. Названия столбцов в Python таблицах
  13. Библиотека Emoji: использование смайлов в Python
  14. Применение функции к каждому элементу списка
  15. PUT запрос для обновления данных
  16. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  17. Получение комбинаций в Python
  18. Искажение имен в Python
  19. Модуль subprocess: запуск внешних команд
  20. Генераторы в Python
  21. Распаковка элементов массива
  22. Создание коллекций из выражения-генератора
  23. Оператор in и not in в Python
  24. Solidity для DeFi Ethereum
  25. Ошибка NotImplemented в Python
  26. Команда %dhist — список посещенных каталогов
  27. Установка и использование модуля Wikipedia
  28. Красивый вывод списка
  29. Оператор морж в Python 3.8
  30. Распаковка элементов последовательности
  31. Освобождение памяти в Python
  32. Нарезка списков в Python
  33. Работа с itertools
  34. Метод split() для разделения строк
  35. Реализация метода __abs__ в Python
  36. Функция eval() в Python
  37. Печать комбинаций в Python с Itertools
  38. Библиотека Rich: форматирование текста
  39. Слияние словарей в Python 3.9
  40. Создание словаря через dict comprehension
  41. Python Метод sleep() из time
  42. Группы исключений в Python
  43. Обезопасьте ввод данных
  44. Цикл for в Python
  45. Распаковка с оператором *
  46. Функции в одну строку

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