Курс 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. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  2. EMOT преобразование эмодзи в текст
  3. Преобразование числа в список цифр
  4. Срез в Python
  5. Изменение списка срезами
  6. Работа с типами данных в Python с помощью pydantic.
  7. Создание таблиц в терминале с PrettyTable
  8. Проверка типа данных
  9. Работа с рекламными данными в Pandas
  10. Установка и использование pyshorteners
  11. Поиск индекса элемента в списке
  12. Разделение строки с помощью re.split()
  13. Руководство по использованию Colorama
  14. Управление контекстом с помощью декоратора contextmanager
  15. Сортировка и обратный порядок
  16. Генерация случайных чисел в Python
  17. Работа с модулем Calendar
  18. Форматирование чисел в Python
  19. Многоточие в Python
  20. Списковое включение в Python
  21. Именованные аргументы в Python
  22. Округление банкира в Python
  23. Codecademy в Telegram
  24. Отправка поздравлений по дню рождения
  25. Экранирование символов в Python
  26. Анонимные функции в Python
  27. Работа с файлами в Python
  28. Просмотр внешнего файла в Python
  29. Декоратор Property в Python
  30. Экспорт функций в Python
  31. Оптимизация интернирования строк
  32. Метод join() для объединения элементов
  33. Динамическая типизация в Python
  34. Работа с географическими данными в Python
  35. capitalize() — изменение регистра первого символа строки
  36. Хеши в Python
  37. Копирование файлов с shutil()
  38. Преобразование в float
  39. Python Метод del.
  40. Метод getitem для доступа к элементам последовательности
  41. Создание треугольника Паскаля
  42. Частичное совпадение пользовательского ввода в Python 3.10
  43. Метод __float__ в Python

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