Курс 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. Генераторы словарей и множеств
  2. Выражения-генераторы в Python
  3. Метод ifloordiv для пользовательских классов
  4. Проверка подстроки в строке
  5. Форматирование строк с помощью f-строк
  6. Обновление множества в Python
  7. Работа с timedelta
  8. Создание новых функций с помощью functools.partial
  9. Работа со строками в Python
  10. Область видимости переменных
  11. Возврат значений из генератора
  12. Переворот последовательности
  13. Метод __irshift__ для Python
  14. Нахождение хеша для бесконечности и NaN в Python
  15. Использование функции enumerate()
  16. Преобразование вложенного списка
  17. Контроль точности вывода чисел
  18. Сравнение строк в Python
  19. Реализация метода __abs__ в Python
  20. Работа с GitHub в Telegram
  21. Управление сессиями в Python
  22. Библиотека wikipedia для Python
  23. Подписка на @SelectelNews
  24. Изменение логики работы с временем
  25. Сравнение def и lambda-функций
  26. Обход элементов в Python
  27. Работа с необработанными строками
  28. Вакансии в Nebius
  29. Метод index() в Python
  30. Colorama: окрашивание текста в Python
  31. Python Метод del.
  32. Отображение графиков в Jupyter с Matplotlib
  33. Проверка типа объекта в Python
  34. Атрибуты класса и экземпляра
  35. Python: Фильтрация списков с помощью filter()
  36. Обработка данных в Python
  37. Взаимодействие с внешними процессами в Python
  38. Генерация UUID в Python
  39. Оценка точности модели
  40. Создание словаря и множества
  41. Работа с YAML в Python
  42. Вычисление логарифмов в Python
  43. Python Ellipsis использование
  44. Методы split() и join() — Python строк.
  45. Компиляция регулярных выражений
  46. Python defaultdict добавление ключа
  47. Работа с асинхронными задачами в Python
  48. Роль запятой в Python

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