Курс Python → Генераторы в Python

Генераторы (generators) — это мощный инструмент в Python, который позволяет создавать итераторы, способные генерировать значения на лету. Они позволяют экономить память, так как не требуется хранить все значения в памяти сразу. Генераторы могут быть особенно полезны, когда нужно обработать большой объем данных или когда требуется выполнять итерацию только один раз.

Пример использования генератора в Python:


def my_generator(n):
    for i in range(n):
        yield i ** 2

squares = my_generator(5)

for square in squares:
    print(square)

В данном примере мы создаем генератор my_generator, который возвращает квадраты чисел от 0 до n-1. Функция yield используется для возврата следующего элемента генератора, при этом сохраняется состояние функции. Это позволяет продолжить выполнение функции с того же места, где она была приостановлена.

После создания генератора мы используем цикл for для итерации по элементам генератора squares. При каждой итерации получаем следующее значение из генератора, что позволяет нам получить квадраты чисел от 0 до 4. После прохождения всех элементов генератора итерация завершается.

Использование генераторов в Python позволяет сделать код более эффективным и понятным. Они позволяют легко создавать итераторы для обработки данных, особенно в случаях, когда требуется работать с большими объемами данных или когда нужно выполнить итерацию только один раз.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Преобразование данных в Python
  2. Обработка исключений с блоком else
  3. Декоратор Property в Python
  4. Работа с модулем Calendar
  5. Измерение времени выполнения кода
  6. Переопределение метода __eq__
  7. Переменная с нижним подчеркиванием
  8. Умножение строк и списков
  9. Сложение матриц в NumPy
  10. Передача аргументов через **arguments
  11. Установка и использование Python-dateutil
  12. Запуск асинхронной корутины
  13. Создание функций с произвольным количеством аргументов
  14. Хранение данных с помощью dataclasses
  15. Изменение элемента списка
  16. Округление банкира в Python
  17. Работа с модулем bisect
  18. Работа с комплексными числами
  19. Нарезка списков в Python
  20. Измерение времени выполнения в Python
  21. Преобразование строки в число
  22. Поиск частых элементов в списке
  23. Ввод нескольких значений
  24. Логирование с Loguru
  25. Генераторы в Python
  26. Метод lt для сортировки объектов
  27. Объединение объектов в Python
  28. Оператор «not» в Python
  29. Приближение чисел в Python
  30. Настройка шрифта и цвета в Tkinter
  31. Подсчет вхождений элементов
  32. Проверка условий: all и any
  33. Управление User-Agent в Python
  34. Модуль future Python
  35. Виртуальное окружение Python
  36. Работа со слайсами
  37. Транспонирование 2D-массива с помощью zip
  38. Создание и операции с дробями
  39. Замена текста с re.sub()
  40. Monkey Patching в Python
  41. Метод rlshift для битового сдвига
  42. Пустой оператор pass в Python
  43. Присвоение и ссылки
  44. Реверс строки в Python
  45. Расчет времени выполнения

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