Курс 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 3.8
  2. Создание инструмента обнаружения плагиата
  3. Разделение строк в Python
  4. Приоритет операций в Python
  5. Подсказки при вводе данных в Python
  6. Создание списка через цикл
  7. Классы данных в Python
  8. Работа с аргументами командной строки
  9. Python: динамическая типизация и проверка типов
  10. Проектирование Singleton с метаклассом
  11. Вывод баннеров
  12. Создание спинбокса в tkinter
  13. Поиск частого элемента
  14. Форматирование чисел в Python
  15. Нахождение отличий в списках
  16. Метод init в Python
  17. Получение списка кортежей из словаря
  18. Расширение операции побитового «и» в Python
  19. Философия Python
  20. Установка и использование TensorFlow
  21. Многопроцессорное программирование в Python
  22. Big O оптимизация
  23. Наиболее частотные элементы с помощью Counter
  24. Сравнение def и lambda-функций
  25. Обработка исключений в Python 3
  26. Работа с исключениями в Python
  27. Создание обратного итератора
  28. Перегрузка операторов в Python
  29. Функция __init__ в Python
  30. Операции с матрицами в Python
  31. Поиск индекса элемента в списке
  32. Получение ID текущего процесса
  33. Списки: объединение, изменение
  34. Импорт с альтернативным именем
  35. Обучение модели с указанием эпох
  36. Оператор Walrus в Python 3.8
  37. Beautiful Soup — извлечение данных из HTML
  38. Применение функции к списку
  39. Модуль sys: основы
  40. Работа с типами данных в Python с помощью pydantic.
  41. Импортирование в Python
  42. Принципы SRP и OCP
  43. Установка и использование pyshorteners
  44. Работа с файловой системой в Python
  45. Метод get для словаря
  46. Работа с YAML в Python: PyYAML.
  47. Применение функции map() с лямбда-функциями

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