Курс 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. Работа с кортежами в Python
  3. Генераторы в Python
  4. Объединение словарей в Python
  5. Подсчет элементов в Python
  6. Генераторы в Python
  7. Конкатенация строк с методом join()
  8. Форматирование строк в Python
  9. Функции высшего порядка в Python
  10. Установка Python3.7 и PIP
  11. Работа с модулем os в Python
  12. Ускоренный импорт библиотек
  13. Класс Counter() для подсчета элементов
  14. Проверка однородности элементов списка
  15. Поиск шаблона в начале строки
  16. Python: Splat-оператор и splatty-splat
  17. Повторение элементов в Python
  18. Нахождение максимального значения и его индекса в списке
  19. Получение размера объекта с sys.getsizeof()
  20. Проблемы с dict в Python
  21. Хэш-функции и метод цепочек
  22. Область видимости переменных
  23. Поиск файлов по шаблону
  24. Оптимизация памяти с __slots__
  25. Удаление дубликатов из списка
  26. Создание класса очереди
  27. Работа с базами данных SQLite
  28. Метод округления чисел
  29. Анонимные функции в Python
  30. Переопределение метода __lshift__
  31. Создание матрицы в Python
  32. Работа с IP-адресами в Python
  33. Преобразование вложенного списка
  34. Модуль xkcd: загрузка комиксов
  35. Передача словаря через **kwargs
  36. Распаковка аргументов в Python
  37. Установка и использование Telegram API в Python
  38. Структурирование именованных констант
  39. Модуль functools в Python
  40. Работа с YAML в Python
  41. Обработка StopIteration в Python
  42. Работа с Enum в Python3.
  43. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  44. Игра «Виселица» на Python
  45. Преобразование Word в PDF с Spire.Doc
  46. Преобразование текста в речь с Python
  47. Хэш-функции в Python
  48. Сортировка с помощью параметра key
  49. Генератор списка с условием if

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