Курс 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. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  2. Многопроцессорное программирование в Python
  3. Проверка типов с помощью isinstance
  4. Хэш-функции в Python
  5. Списковые включения в Python
  6. Поток данных в Python
  7. Python: отсутствие точек с запятыми
  8. Оператор continue в Python
  9. Особенности множеств в Python
  10. Удаление ключа из словаря
  11. Enum в Python: создание и использование перечислений
  12. Получение частей дроби
  13. Создание итерируемых объектов
  14. Работа с NumPy
  15. Делегирование в Python
  16. Enum в Python
  17. Оператор деления для класса Rational
  18. Howdoi — получение ответов из терминала
  19. Сортировка в Python
  20. Импорт классов из другого файла
  21. Передача аргументов в Python
  22. Работа с URL-адресами в Python
  23. Участие в LP стейкинге Waves
  24. Карта бомбоубежищ в Москве и Питере
  25. Управление доступом к модулю
  26. Форматирование объектов с модулем pprint
  27. Сортировка HTML-элементов
  28. Оператор обр. импликации
  29. Импорт с альтернативным именем
  30. Закрытие файла в Python
  31. Возврат нескольких значений из функции
  32. Расширение операции побитового «и» в Python
  33. Модуль subprocess: запуск внешних команд
  34. Обязательные аргументы в Python
  35. UserString в Python
  36. Colorama: окрашивание текста в Python
  37. Работа с аргументами командной строки
  38. Модуль antigravity: генерация координат
  39. Изменение регистра данных
  40. Операции с кортежами
  41. Работа с типами данных в Python с помощью pydantic.
  42. Оптимизация создания строк
  43. Работа с очередями в Python
  44. Создание детектора плагиата
  45. Применение промокода в Много лосося
  46. Слияние словарей в Python 3.9
  47. Работа с срезами в Numpy
  48. Вычисление времени выполнения
  49. Проверка вхождения подстроки

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