Курс 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. Оператор del в Python
  2. Использование type hints
  3. Функция count() в Python
  4. Расширение операции побитового «и» в Python
  5. Работа со строками в Python
  6. Проверка памяти объекта
  7. Работа с CSV файлами
  8. Работа с JSON данными в Python
  9. Определение относительного пути
  10. Работа с zip-архивами в Python
  11. Подробная информация о %pinfo
  12. Управление фоновыми задачами в Python
  13. Запуск Python из интерпретатора
  14. Функции в Python: создание и вызов
  15. Передача параметров в Python
  16. Отладка утечек памяти в Python
  17. Python Тесты и Гайды
  18. Использование двоеточия в Python
  19. Проекты на Python
  20. Оператор деления для класса Rational
  21. Приближение чисел в Python
  22. Модуль pprint: улучшение вывода данных
  23. Применение функции к элементам списка
  24. Вычисление разности множеств в Python
  25. Создание .exe файла с pyinstaller
  26. Управление ресурсами с контекстными менеджерами
  27. Округление банкира в Python
  28. Обход элементов в Python
  29. Работа с изменяемыми списками
  30. Сортировка и обратный порядок
  31. Monkey Patching в Python
  32. Переопределение метода __pow__
  33. Конкатенация списков в Python
  34. Сериализация объектов в Python
  35. Конвертация коллекций в Python.
  36. Использование функции enumerate()
  37. Переворот строки с помощью срезов
  38. Разделение строки с помощью re.split()
  39. 9 уловок для чистого кода
  40. Сортировка в Python
  41. Возвращение нескольких значений
  42. Декораторы в Python
  43. Поиск элементов BeautifulSoup
  44. Логирование с Logzero
  45. Поиск уникальных элементов строкой в Python
  46. Работа с *args и **kwargs в Python
  47. Основы работы со строками в Python

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