Курс 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
  2. Библиотека sh: использование команд bash в Python
  3. Анонимные функции в Python
  4. Работа с аргументами командной строки в Python
  5. Оптимизация памяти с __slots__
  6. Создание пар из последовательностей
  7. Метод count() для списка
  8. Переворот строки с помощью срезов
  9. Фильтрация данных в Python.
  10. Анализ кода — Python
  11. Работа с IP-адресами в Python
  12. Метод join() с набором
  13. Работа со словарями с defaultdict из collections
  14. Взаимодействие с sys
  15. Частичное применение функций в Python
  16. Кортежи в Python: особенности и преимущества
  17. Цикл for в Python
  18. Оболочка Python
  19. Метод __getitem__ в Python
  20. Создание графиков в терминале
  21. Хеширование паролей с солью
  22. Защита данных в Python
  23. Работа с итераторами через срезы
  24. Декоратор total_ordering для сравнения объектов
  25. Создание Radio кнопок в tkinter
  26. Капитализация строк
  27. Оформление текста в консоли с TermColor
  28. Метод radd для пользовательских чисел
  29. Просмотр файла в Jupyter Noteboo
  30. Поиск частых элементов в списке
  31. Функция eval() в Python
  32. Создание множества в Python
  33. Создание именованных кортежей в Python
  34. Форматирование объектов с модулем pprint
  35. Метод __complex__ в Python
  36. Работа с итераторами в Python
  37. Получение ID процесса
  38. Работа с collections в Python.
  39. Поиск анаграмм с Counter
  40. Повторение и перенос строки
  41. Вывод сложных структур данных с помощью pprint
  42. Работа с YAML в Python
  43. Модуль Antigravity в Python 3
  44. Извлечение аудио из видео
  45. Преобразование типов данных в set comprehension
  46. Печать календаря

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