Курс 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. Функция eval() в Python
  2. Логирование с Loguru
  3. Замена переменных в Python
  4. Принципы Zen of Python
  5. Обмен значений переменных в Python
  6. Работа с датами в Python
  7. Переопределение метода xor в Python
  8. Значения по умолчанию в Python
  9. Форматирование строк с помощью f-строк
  10. Обработка исключений в Python
  11. Область видимости переменных
  12. Разделение строки на пары ключ-значение.
  13. Импорт модуля из другого каталога
  14. Управление браузером с Selenium
  15. Создание коллекций из выражения-генератора
  16. Метод join() для объединения элементов строки
  17. Установка и обучение ChatterBot
  18. Оператор continue в Python
  19. Обработка ошибок в JSON данных
  20. Преобразование символов в нижний регистр
  21. Получение срезов итераторов
  22. Разделение строк в Python
  23. Изменение регистра данных
  24. Регистрация на курсы SF Education
  25. Основные функции и модули Python
  26. Декоратор @override
  27. Преобразование Excel в PDF с Spire.XLS
  28. Форматирование данных с pprint
  29. Поиск индекса элемента в списке
  30. Подсказки типов в Python
  31. Подсчет элементов в списке с Counter
  32. Изменение списка срезами
  33. Лимиты на ресурсы Python
  34. Классы данных в Python
  35. Подсчет элементов в Python
  36. Конвертация коллекций в Python.
  37. Область видимости переменных в Python
  38. Функция reduce() из модуля functools
  39. Функции map() и reduce() в Python
  40. Работа с модулем glob в Python
  41. Объединение, распаковка и деструктуризация

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