Курс 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. Работа с массивами в Python
  3. Управление виртуальными окружениями в Python
  4. Функции map, filter, reduce
  5. Проверка ввода с помощью isdigit
  6. Удаление ключей из словаря
  7. Подсчет частотности элементов в Python
  8. Копирование файлов с shutil()
  9. Форматирование кода на Python
  10. Запуск асинхронной корутины
  11. Логирование с Loguru
  12. Блок else в циклах.
  13. Значения по умолчанию в Python
  14. Работа с модулем cmath
  15. Инициализация переменных
  16. Импорт в Python: список all
  17. Парсинг статей с Newspaper3k
  18. Цикл for с enumerate() в Python
  19. Импорт с альтернативным именем
  20. Округление в Python
  21. Атрибуты класса и экземпляра
  22. Python Метод Union Множеств
  23. Функция reduce() в Python
  24. Цикл for в Python
  25. Логирование в Python
  26. Настройка вывода NumPy
  27. Частичное совпадение ввода
  28. Проверка версии Python
  29. Класс UserDict: дополнительная функциональность
  30. Работа с комплексными числами
  31. Оптимизация памяти с slots
  32. Генерация ключей RSA
  33. Фильтрация последовательности
  34. Оформление кода по PEP 8
  35. Добавление Progressbar в Python
  36. Множественное назначение в Python
  37. Создание таблиц в Python с PrettyTable
  38. Генераторы в Python
  39. Использование эмодзи в Python
  40. ROT13 Шифр Цезаря в Python
  41. Возврат нескольких значений
  42. Получение обратного списка чисел
  43. Настройка нарезки списков
  44. Удаление первого элемента списка
  45. Чтение и запись TOML-конфигов
  46. Потоковый ввод в Python
  47. Декораторы для регистрации функций

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