Курс 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 groupby() из itertools: работа с повторяющимися элементами
  2. Получение частей дроби
  3. Добавление элемента к кортежу
  4. Работа с Event() в threading
  5. JSON в Python: модуль, dump, dumps, load
  6. PrettyTable: создание таблицы
  7. Открытие, чтение и закрытие файла
  8. Python defaultdict добавление ключа
  9. Модуль Antigravity в Python 3
  10. Оператор del в Python
  11. Избегание изменяемых аргументов
  12. Оператор break в Python
  13. Поиск повторов в списке
  14. Метод сравнения объектов в Python
  15. Уникальность ключей в словаре
  16. Создание функций высшего порядка
  17. Запрос пароля с помощью getpass
  18. Структура данных deque в Python
  19. Избегание циклических зависимостей классов в Python
  20. Чтение бинарного файла в Python.
  21. Распаковка элементов массива
  22. Многострочные строки в Python
  23. Асинхронное программирование с asyncio
  24. Необязательные аргументы в Python
  25. Вычисление логарифмов в Python
  26. Работа с YAML в Python: PyYAML.
  27. UserList в Python: Описание и примеры использования
  28. Python reversed() vs срез[::-1]
  29. Работа с изображениями PIL
  30. Поиск всех индексов подстроки
  31. Работа с OpenCV
  32. Метод __call__ в Python
  33. Получение идентификатора объекта в памяти
  34. Обработка исключений в Python
  35. Удаление элементов из списка в Python
  36. Константы в модуле cmath
  37. Наиболее частотные элементы с помощью Counter
  38. Преобразование данных в Python
  39. Работа с географическими данными.
  40. Именованные срезы в Python
  41. Поиск кода
  42. Операторы увеличения и уменьшения в Python
  43. Метод title() в Python
  44. Получение срезов итераторов
  45. Функция map() и ленивая оценка

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