Курс 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. Оператор in для проверки наличия элемента
  3. Библиотека itertools: объединение списков
  4. Обработка исключений в Python
  5. Глобальные переменные в Python
  6. Подсчет часто встречающихся элементов
  7. Создание виртуальной среды
  8. Изменение элемента списка
  9. Создание графики с черепахой
  10. Создание словарей и множеств в Python.
  11. Срез в Python
  12. Работа с очередями в Python
  13. Утечки переменных цикла в Python 3.x
  14. Анонимные функции Lambda
  15. Проверка окончания строки с помощью str.endswith()
  16. Возврат нескольких значений
  17. Методы работы со строками в Python
  18. Преобразование текста в речь с Python
  19. Возведение в квадрат с помощью itertools
  20. Генераторы и сеты в Python
  21. Python: цикл for и оператор присваивания
  22. Операции с кортежами
  23. Цикл for в Python
  24. Оболочка Python
  25. Создание словаря через dict comprehension
  26. Метаклассы в Python
  27. Преобразование строк в числа с плавающей запятой
  28. Python reversed() функция
  29. Библиотека sh: использование команд bash в Python
  30. Цикл while в Python
  31. Очистка входных данных
  32. Работа с словарями в Python
  33. Логирование в Python
  34. Обход элементов в Python
  35. Декоратор Ajax required
  36. Оптимизация интернирования строк
  37. Лямбда-функции в Python
  38. Присвоение значений переменным в Python
  39. Функция pow() — возвести число в степень
  40. Получение ID процесса
  41. Пропуск строк в файле с itertools
  42. Открытие, чтение и закрытие файла
  43. Проверка типов с использованием isinstance
  44. Работа с необработанными строками
  45. Преобразование списка в словарь через генератор

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