Курс 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. Обрезка изображения с Pillow
  3. Инверсия списка и строки
  4. Руководство по библиотеке pydantic
  5. Методы split() и join() — Python строк.
  6. Определение относительного пути
  7. Просмотр внешних файлов в %pycat
  8. Копирование словарей и списков в Python
  9. Цикл for в Python
  10. Удаление файлов в Python
  11. Хеши в Python
  12. Метод clear для коллекций
  13. Эффективная конкатенация строк с использованием join()
  14. Функции map, filter, reduce
  15. Обработка данных в Python
  16. Настройка нарезки списков
  17. Работа с deque из collections
  18. Модуль inspect: получение информации о объектах
  19. Переменная Шредингера
  20. Цикл for в Python
  21. Отображение графиков в Jupyter с Matplotlib
  22. Освоение Python
  23. Переопределение унарных операторов
  24. Функция product() из itertools
  25. Асинхронный код в Python
  26. Регистрация на TenChat
  27. Генераторы в Python
  28. Создание словаря и множества
  29. Метод join() для объединения строк
  30. Аргумент по умолчанию
  31. Комментарии в Python
  32. Функция zip() в Python
  33. Глобальные переменные в Python
  34. Структуры данных в Python
  35. Работа с изменяемыми списками
  36. Лямбда-функции в цикле
  37. Структура строк в Python
  38. Работа с буфером обмена на Python
  39. Зарезервированные слова в Python
  40. Модуль Antigravity в Python 3
  41. Преобразование регистра символов
  42. Область видимости переменных
  43. Разделение строки с регулярными выражениями
  44. Распаковка элементов массива

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