Курс 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. Разделение строки с помощью re.split()
  4. Операции с числами в Python
  5. Деление в Python
  6. Установка максимального количества цифр
  7. Пропуск строк в файле с itertools
  8. Использование defaultdict в Python
  9. Метод join() для объединения элементов в строку.
  10. Создание словарей и множеств в Python
  11. Каналы Senior: Python, Java, Frontend, SQL, C++
  12. Упрощение работы с JSON-данными в Python
  13. Сравнение строк в Python
  14. Многострочные строки в Python
  15. Управление User-Agent в Python
  16. Retrying в Python: повторные вызовы
  17. Работа с словарями в Python
  18. Блок else в циклах.
  19. Удаление файлов в Python
  20. Отладка в Python
  21. Реализация операции -= для пользовательского класса
  22. Создание словаря через dict comprehension
  23. Область видимости переменных
  24. Комментарии в Python
  25. Извлечение новостей с newspaper3k
  26. Улучшенные подсказки для импорта в Python 3.12
  27. Генерация UUID в Python
  28. Декораторы с @wraps
  29. Подсчет элементов с помощью Counter
  30. Преобразование символов в нижний регистр
  31. Лямбда-функции в Python
  32. Генерация QR-кодов с библиотекой qrcode
  33. Flask — веб-фреймворк Python
  34. Генераторы в Python
  35. Работа с getopt
  36. Работа со словарями с defaultdict из collections
  37. Профилирование с Pandas
  38. Возврат нескольких значений
  39. Приоритет операций в Python
  40. Поток данных в Python
  41. Создание Telegram-бота на Python
  42. Выборка чисел
  43. Получение локальных переменных в Python
  44. Использование type hints
  45. Создание вложенных циклов for
  46. Проверка класса объекта
  47. Метод init в Python
  48. Именованные срезы в Python
  49. Библиотека Emoji: использование смайлов в Python

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