Курс 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. Создание даты из строки ISO
  2. Динамическая типизация в Python
  3. Создание виртуальной среды
  4. Преобразование числа в восьмеричную строку
  5. Функция с *args.
  6. Метод ipow для возведения в степень
  7. Генератор данных в Keras
  8. Однострочники Python
  9. Создание списков в Python
  10. inspect в Python: анализ кода
  11. Оператор is в Python
  12. Работа с географическими данными в Python
  13. Структуры данных в Python
  14. Оформление кода по PEP 8
  15. Вычисление натурального логарифма в NumPy
  16. Проверка однородности элементов списка
  17. Работа с массивами в Python
  18. Получение текущей даты и времени
  19. Удаление файлов в Python
  20. Управление экспортом элементов
  21. Разработка игры Pong с turtle
  22. Списковый компрехеншен.
  23. Извлечение чисел из текста
  24. Метод difference_update() — разность множеств
  25. Счетчик в Python: most_common()
  26. Генераторы в Python
  27. Непрерывная проверка в Python
  28. Генераторы в Python
  29. Поиск индексов в списке
  30. Логирование с Loguru
  31. Инверсия списка/строки в Python
  32. Colorama: окрашивание текста в Python
  33. Область видимости переменных
  34. Многострочные комментарии в Python
  35. Транспонирование 2D-массива с помощью zip
  36. Особенности ключей словаря в Python
  37. Создание задания в Cron
  38. Оператор break в Python
  39. Шаблоны Flask: условия и циклы
  40. Типы возвращаемых значений в Python
  41. Инверсия списка и строки в Python
  42. Поиск индексов подстроки
  43. Транспонирование 2D-массива с помощью zip
  44. Переопределение метода __and__
  45. Определение относительного пути

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