Курс 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. Создание объекта timedelta
  2. Хранение данных с помощью dataclasses
  3. Комментарии в Python
  4. Работа с YAML в Python: PyYAML.
  5. Списковый компрехеншен.
  6. Объединение итераторов
  7. Работа с библиотекой requests
  8. Управление фоновыми задачами в Python
  9. Форматирование вывода с F-строками
  10. Работа с timedelta
  11. Списки: объединение, изменение
  12. Очистка строки в Python
  13. Декоратор @override
  14. Оператор += для объединения строк
  15. Операторы Splat и splatty-splat
  16. Установка переменной среды в Python
  17. Поиск индекса элемента в списке
  18. Декоратор для группы пользователей в Django
  19. Antigravity модуль
  20. Выход из профиля в Django
  21. Декораторы с аргументами
  22. Модуль array: создание и использование массивов
  23. Python: цикл for и оператор присваивания
  24. Создание новых списков в Python
  25. Мониторинг работы программы Py-spy
  26. Форматирование даты с strftime()
  27. Принципы программирования
  28. Основы работы с os
  29. Построение графиков в терминале с bashplotlib
  30. Numpy: разбиение массивов
  31. Ввод нескольких значений
  32. Настройка логгера Logzero
  33. Установка Home Assistant
  34. Преобразование строк в числа с плавающей запятой
  35. Генерация тестовых данных с factory_boy
  36. Поиск email
  37. Объединение списков в строку
  38. Разработка Telegram-ботов
  39. Методы обработки строк в Python
  40. Создание словарей и множеств в Python.
  41. Списки в Python: синтаксис представления
  42. Основные методы NumPy
  43. Работа с словарями в Python
  44. Списковое включение в Python
  45. Рациональные числа в Python
  46. Упрощение работы с JSON-данными в Python
  47. Работа с многоуровневыми словарями в Python
  48. Отношения подклассов в Python
  49. Работа с асинхронными задачами в Python
  50. Обработка исключений в Python

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