Курс 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
  2. Создание инструмента обнаружения плагиата
  3. Удаление специальных символов с помощью re.sub
  4. Асинхронное выполнение задач в Python
  5. Создание объекта timedelta
  6. Цикл for с enumerate() в Python
  7. Создание словаря и множества
  8. Форматирование строк в Python
  9. Установка переменной среды в Python
  10. Метод __ixor__ для побитового исключающего ИЛИ
  11. Проверка типов с помощью isinstance
  12. Разделение строки с регулярными выражениями
  13. Получение пути к текущему скрипту с помощью os
  14. Сравнение def и lambda в Python
  15. Умножение строк и списков
  16. Сравнение def и lambda-функций
  17. Замена текста в Python
  18. Обработка исключений в Python
  19. Combobox в Tkinter
  20. Поиск повторов в списке
  21. Метод init в Python
  22. Распаковка элементов массива
  23. Работа с Colorama
  24. Работа с очередями в Python
  25. Генераторы в Python
  26. Блок else в циклах Python
  27. Применение функции к списку
  28. Работа со случайными элементами
  29. Множественное назначение в Python
  30. Генерация случайных чисел в Python
  31. Декораторы в Python
  32. Настройка логгера Logzero
  33. Удаление дубликатов с помощью множеств
  34. Проверка типов с использованием isinstance
  35. Управление памятью в Python
  36. Управление пакетами с pip
  37. Избегание изменяемых аргументов
  38. Тест скорости набора текста на Python
  39. Вычисление логарифмов в Python
  40. Определение локальных переменных в Python
  41. Обход словаря в Python
  42. Работа с географическими данными.
  43. Подписка на SelectelNews в Twitter
  44. Область видимости переменных

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