Курс 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. Транспонирование 2D-массива с помощью zip
  2. Модуль Antigravity в Python 3
  3. Экспорт данных с помощью writefile
  4. Работа с файлами в Python
  5. Нан-рефлексивность в Python
  6. Defaultdict в Python
  7. Многострочные строки в Python
  8. Функции в Python
  9. Метод join() для объединения элементов строки
  10. Игра «Камень, ножницы, бумага» — Python
  11. Искажение имен в Python
  12. Работа с NumPy массивами
  13. Виртуальные среды в Python
  14. Генераторы списков в Python
  15. Импорт модуля из другого каталога
  16. Разработка игры Pong с turtle
  17. Функция all() в Python
  18. Значения по умолчанию в Python
  19. Передача словаря через **kwargs
  20. Метод getitem для доступа к элементам последовательности
  21. Запуск внешнего кода в Jupyter
  22. Конкатенация строк в Python
  23. Изменение списка срезами
  24. Сокращение ссылок с pyshorteners
  25. Функция divmod() в Python
  26. Оформление текста в консоли с TermColor
  27. Создание новых функций с помощью functools.partial
  28. Руководство по библиотеке pydantic
  29. Обход словаря в Python
  30. Python Менеджер контекста
  31. Сортировка данных с лямбда-функциями
  32. Логический оператор «and» в Python
  33. Управление асинхронными задачами на Python.
  34. Экспорт данных в файл.
  35. Метод rsub в Python: расширение функциональности вычитания
  36. Проверка памяти объекта
  37. Функции с дополнением
  38. Синхронизация доступа к ресурсам
  39. Работа со временем в Python
  40. Особенности множеств в Python
  41. Установка и использование emoji
  42. Просмотр файла в Jupyter Noteboo
  43. Логические значения в Python
  44. Основы работы с os

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