Курс 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. Оптимизация поиска в словарях
  2. Преобразование многоуровневого словаря
  3. Использование функции enumerate()
  4. Генераторные функции в Python
  5. Объединение списков в Python
  6. ROT13 Шифр Цезаря в Python
  7. Использование type hints
  8. Установка и обучение ChatterBot
  9. Бинарный поиск
  10. Преобразование текста в речь с Python
  11. Переопределение метода len
  12. Изменение переменной в Python: nonlocal
  13. Функция findall() для поиска вхождений строки
  14. Создание и использование ChainMap
  15. Установка Python — Простое руководство
  16. Переворот последовательности
  17. JSON-esque в Python
  18. Удаление символа из строки
  19. Бесконечная проверка в Python
  20. Подсказки при вводе данных в Python
  21. Работа с утверждениями в Python
  22. Поиск наиболее частого элемента
  23. Работа с необработанными строками
  24. Вывод символов строки в Python
  25. Функция count() в Python
  26. Метод remove() для удаления элемента из списка
  27. 9 уловок для чистого кода
  28. Добавление элементов в список: append() vs extend()
  29. Обход словаря в Python
  30. Форматирование строк с помощью f-строк
  31. Ошибка NotImplemented в Python
  32. Курс по дообучению ChatGPT
  33. Генерация UUID в Python
  34. Преобразование данных в Python
  35. Создание файла с проверкой ошибки
  36. Замыкания в Python
  37. Поиск уникальных элементов строкой в Python
  38. Обработка исключений в Python
  39. Зарезервированные слова в Python
  40. Отправка поздравлений по дню рождения
  41. Метод radd для пользовательских чисел
  42. Работа с zip()
  43. Список методов и атрибутов
  44. Блок else в циклах.
  45. Генерация резюме в Gensim
  46. Форматирование объектов с модулем pprint
  47. Декораторы в Python

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