Курс 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. Импорт модуля из другого каталога
  2. Переопределение метода __lshift__
  3. Печать комбинаций в Python с Itertools
  4. Сортировка в Python
  5. Глобальные переменные в Python
  6. Метод rmatmul для обратного матричного умножения
  7. Генераторы списков
  8. Декоратор Ajax required
  9. Моржовый оператор в Python 3.8
  10. Enum в Python: создание и использование перечислений
  11. Удаление элемента из списка
  12. Разделение строки с помощью re.split()
  13. Метод setitem в Python
  14. Курс по дообучению ChatGPT
  15. Проблемы с именами переменных
  16. Удаление знаков препинания в Python
  17. Условные выражения в Python
  18. Форматирование даты с strftime()
  19. Форматирование вывода с F-строками
  20. Разделение строки на подстроки в Python
  21. Создание Radio кнопок в tkinter
  22. Работа с файловой системой в Python
  23. Модуль xkcd: загрузка комиксов
  24. Работа с каталогами в Python
  25. Обход элементов в Python
  26. Библиотека sh: использование команд bash в Python
  27. Основы работы с базами данных в Python
  28. Работа с часовыми поясами в Python.
  29. Отправка POST запроса на сервер.
  30. Основные методы NumPy
  31. Динамическая типизация в Python
  32. Метод init в Python
  33. Работа с argparse
  34. Python enumerate() для работы с индексами
  35. Работа с атрибутом dict
  36. Получение текущего времени в Python
  37. Создание новых списков
  38. Python: Splat-оператор и splatty-splat
  39. Python Метод del.
  40. Сортировка и обратный порядок
  41. Отслеживание прогресса с tqdm
  42. Многопоточность и асинхронное программирование в Python

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