Курс 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. Создание Radio кнопок в tkinter
  2. Сериализация и десериализация объектов
  3. Создание генераторов в Python
  4. Создание итерируемых объектов
  5. Фильтрация списка чисел
  6. Оптимизация интернирования строк
  7. Работа с дробями в Python
  8. Равенство и идентичность в Python
  9. Изменение IP-адреса в Python
  10. Скрытие вывода данных
  11. Отправка POST-запроса в REST API
  12. Применение функции к списку
  13. Работа с переменными в Python
  14. Логирование с Logzero: ротация файла
  15. Декораторы в Python
  16. Уникальность ключей в словаре
  17. 9 уловок для чистого кода
  18. Генераторные выражения и islice.
  19. Декодирование строк в Python
  20. Конкатенация строк с join() в Python
  21. Генерация резюме в Gensim
  22. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  23. Создание Telegram-бота на Python
  24. Поиск кода
  25. Запуск внешнего кода в Jupyter
  26. Команда %dhist — список посещенных каталогов
  27. Работа со строками
  28. Проверка списка: any() и all()
  29. Работа со строками в Python
  30. Упрощение работы с JSON-данными в Python
  31. Измерение времени выполнения кода
  32. Метод clear для коллекций
  33. Получение комбинаций в Python
  34. Эффективная конкатенация строк с использованием join()
  35. Генераторы списков в Python
  36. Метод rmatmul для обратного матричного умножения
  37. Строки в Python: апострофы и кавычки
  38. Функция enumerate() в Python
  39. Форматирование вывода с F-строками
  40. Функции all() и any() в Python
  41. Декораторы классов
  42. Работа с Event() в threading
  43. Создание матрицы в Python
  44. Библиотека Rich: форматирование текста
  45. Генерация случайных чисел Python

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