Курс 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. Создание Radio кнопок в tkinter
  2. Подсчет элементов в Python
  3. Делегирование в Python
  4. Метод remove() для удаления элемента из списка
  5. Замена подстроки
  6. Метод count() для списков
  7. Сокращение ссылок с pyshorteners
  8. Работа с датами в Python
  9. Возвращение нескольких значений
  10. Переопределение метода __floordiv__
  11. Логические значения в Python
  12. Декораторы в Python
  13. Преобразование букв в нижний регистр
  14. Управление асинхронными задачами с помощью Semaphore
  15. Глубокое копирование объектов
  16. Глобальные переменные в Python
  17. Создание OrderedDict
  18. kwargs в Python
  19. Отладка регулярных выражений в Python
  20. Переменная Шредингера
  21. Создание новых списков через list comprehensions
  22. Работа с файлами в Python
  23. Настройка Cron
  24. Модуль inspect
  25. Вывод букв строки в Python
  26. Получение текущей даты и времени с помощью datetime
  27. Срезы в Python
  28. Работа с итераторами в Python
  29. Сравнение строк в Python
  30. Названия столбцов в Python таблицах
  31. Генераторы в Python
  32. Склеивание строк через метод join()
  33. Управление контекстом с помощью декоратора contextmanager
  34. Решатель судоку на Python с pygame
  35. Codecademy в Telegram
  36. Объединение списков с использованием itertools.chain
  37. Использование модуля math
  38. Обработка исключений в Python 3
  39. Класс Counter() для подсчета элементов
  40. Потоковый ввод в Python
  41. Управление виртуальными окружениями в Python
  42. Удаление дубликатов в pandas
  43. Нан-рефлексивность в Python
  44. Отправка HTTP-запросов с User-Agent
  45. Операции с кортежами
  46. Генераторы списков в Python
  47. Гибкие функции Python

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