Курс 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. Перебор элементов списка в Python
  2. Получение пути к текущему скрипту с помощью os
  3. Проверка ввода с помощью isdigit
  4. Добавление вложенных списков
  5. Измерение времени выполнения кода
  6. Форматирование строк в Python
  7. Преобразование типов данных в set comprehension
  8. Модуль pprint: улучшение вывода данных
  9. Создание графики с черепахой
  10. Управление доступом к модулю
  11. kwargs в Python
  12. Безопасные SQL-запросы в Python 3.11
  13. Создание уникального множества
  14. Конкатенация строк с помощью join()
  15. Метод Event.wait() в Python
  16. Переопределение оператора % для объектов
  17. Метод __irshift__ для побитового сдвига вправо
  18. Метод setdefault() в Python
  19. Раздувающийся словарь в Python
  20. Разность множеств
  21. Поиск с библиотекой Google
  22. Многострочные комментарии в Python
  23. Управление экспортом элементов
  24. Инверсия списка и строки в Python
  25. Переменные класса и экземпляра
  26. Комментарии в Python
  27. Удаление знаков препинания в Python
  28. Асинхронное выполнение задач в процессах
  29. Удаление элемента по индексу
  30. Проблемы с именами переменных
  31. Контекстный менеджер в Python
  32. Ускорение обработки данных с %autoawait
  33. Списковое включение в Python
  34. Управление мышью и клавиатурой с Pyautogui
  35. Операторы сравнения в Python
  36. Методы обработки строк в Python
  37. Метод join() с набором
  38. Активация Matplotlib в Jupyter
  39. Создание уникального проекта
  40. Метод rxor для операции побитового исключающего «или»
  41. Асинхронное выполнение задач в Python
  42. Установка random seed в Python
  43. Установка Python3.7 и PIP
  44. Управление ресурсами с контекстными менеджерами
  45. Копирование объектов в Python
  46. Официальный канал Python в Telegram
  47. Удаление ресурса в Python
  48. Декораторы в Python

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