Курс 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 с помощью sh
  2. Проверка существования переменной с оператором :=
  3. Создание словаря и множества
  4. Работа с getopt
  5. Возврат нескольких значений
  6. Progress с библиотекой tqdm
  7. Ускоренный импорт библиотек
  8. Генераторные выражения и islice.
  9. Python enumerate() использование
  10. Поиск шаблона в начале строки
  11. Списки: объединение, изменение
  12. Метод rmatmul для обратного матричного умножения
  13. Переопределение оператора % для объектов
  14. Управление виртуальными окружениями в Python
  15. Работа с итераторами в Python
  16. Библиотека Rich: форматирование текста
  17. Проблема с изменяемыми аргументами
  18. Функции all и any в Python
  19. Преобразование регистра символов
  20. Переопределение метода __lshift__
  21. Оператор in в Python
  22. Работа с путями в Python
  23. Установка и использование Telegram API в Python
  24. Поиск повторов в списке
  25. Метод join() для объединения элементов строки
  26. Реверс строки в Python
  27. Условное добавление элементов в список
  28. Получение списка файлов в директории с использованием os
  29. Создание словаря с значением по умолчанию
  30. Работа с файлами в Python
  31. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  32. Объединение списков в Python
  33. Работа с кортежами в Python
  34. Работа с множествами в Python
  35. TypedDict для kwargs в Python 3.12
  36. Пересечение списков с использованием множеств
  37. Скрытие вывода данных
  38. Генераторные функции в Python
  39. Python reversed() функция
  40. Проверка элементов списка условием
  41. Оператор деления для класса Rational
  42. Округление чисел с помощью round
  43. Замена текста в Python
  44. Непрерывная проверка в Python
  45. Ограничение ресурсов в Python
  46. Передача параметров в Python
  47. Измерение времени выполнения кода

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