Курс 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. F-строки в Python
  2. Названия столбцов в Python таблицах
  3. Профилирование кода на Python
  4. Работа с базами данных SQLite
  5. Метод join() для объединения элементов строки
  6. Enum в Python: создание и использование перечислений
  7. Работа с файлами в Python
  8. Объединение словарей в Python
  9. Деление в Python
  10. Поиск элементов BeautifulSoup
  11. Замена элементов в списке с помощью генераторов списков
  12. Оператор in и not in в Python
  13. Роль object и type в Python
  14. Карта бомбоубежищ в Москве и Питере
  15. Операция += для списков
  16. Установка максимального количества цифр
  17. Retrying в Python: повторные вызовы
  18. Множественное наследование в Python
  19. Переопределение метода __or__()
  20. Работа со списками
  21. Объединение словарей в Python
  22. Отслеживание прогресса с tqdm
  23. Изменение объектов в Python
  24. Изменение элемента списка
  25. Открытие и запись файлов
  26. Преобразование Excel в PDF с Spire.XLS
  27. Операторы Splat и splatty-splat
  28. Итераторы в Python
  29. Удаление элементов из списка в Python
  30. Создание GUI на Tkinter
  31. Создание объекта timedelta
  32. Печать календаря в Python
  33. Работа с индексами списков
  34. Участие в LP стейкинге Waves
  35. Перевод текста с Python Translator
  36. Управление ресурсами с контекстными менеджерами
  37. Основы слова
  38. Синхронизация доступа к ресурсам
  39. Работа с переменными в Python
  40. Генераторные выражения и islice.
  41. Активация Matplotlib в Jupyter
  42. Генераторы в Python

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