Курс 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. Функция reversed() в Python
  3. Хеширование паролей с солью
  4. Оптимизация создания строк
  5. Использование type hints
  6. Эффективная конкатенация строк с использованием join()
  7. Progress с библиотекой tqdm
  8. Работа с CSV файлами в Python
  9. Отделение звука от видео
  10. Обновление данных через PUT запрос
  11. Асинхронное программирование с asyncio
  12. Обратное распространение ошибки
  13. Импорт объектов из модулей
  14. Добавление элемента в список.
  15. Пространство имен в Python
  16. Декораторы в Python
  17. Объединение словарей в Python
  18. Ограничение ресурсов в Python
  19. Поиск повторов в списке
  20. Блок else в обработке исключений
  21. Управление виртуальными средами в Python
  22. Хранение данных с помощью dataclasses
  23. Функция enumerate в Python
  24. Функции с дополнением
  25. Объединение словарей в Python
  26. Обработка элементов в Python
  27. Декораторы в Python
  28. Метод join для наборов
  29. Резервирование символов в Python
  30. Получение идентификатора объекта в памяти
  31. Объединение списков в Python
  32. EMOT преобразование эмодзи в текст
  33. Функция map() и ленивая оценка
  34. Функция zip() в Python
  35. Срез списка в Python
  36. Операции со строками в Python
  37. Работа со списками
  38. Работа с часовыми поясами в Python
  39. Работа с эмодзи в Python
  40. Компиляция регулярных выражений
  41. F-строки в Python
  42. Функции all и any в Python
  43. Создание списков в Python

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