Курс 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. Работа с IP-адресами в Python
  2. Объединение, распаковка и деструктуризация
  3. Переменные класса и экземпляра
  4. Разделение строки на пары ключ-значение.
  5. Оптимизация строк в Python
  6. Переопределение метода divmod
  7. Управление виртуальными средами в Python
  8. Форматирование вывода с F-строками
  9. Использование html-скриптов в Jupyter Notebook
  10. Аргументы *args и **kwargs
  11. Работа с WindowsPath()
  12. Метод __getitem__ в Python
  13. Команда %dhist — список посещенных каталогов
  14. Работа с рекламными данными в Pandas
  15. Удаление ключа из словаря
  16. Чтение и запись TOML-конфигов
  17. Сортировка HTML по CSS-селектору
  18. Настройка Cron
  19. Запуск внешнего кода в Jupyter
  20. Библиотека itertools: объединение списков
  21. Поиск наиболее частого элемента списке
  22. Описание скриптов в README
  23. Подсчет элементов в Python
  24. Метод Self в Python
  25. enumerate() в Python для работы с индексами
  26. Переменная Шредингера
  27. Работа с массивами в Numpy
  28. Хранение данных
  29. Любовь к Python
  30. Создание генераторов в Python
  31. CSV строка разделение в Python
  32. Копирование словарей и списков в Python
  33. Установка random seed в Python
  34. Запуск внешних программ с subprocess
  35. Контекстный менеджер в Python
  36. Генераторы в Python
  37. Избегайте ошибку FileNotFoundError
  38. Работа с аргументами командной строки в Python
  39. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  40. Измерение времени выполнения кода
  41. Python: изменяемые и неизменяемые коллекции
  42. UserList в Python: Описание и примеры использования
  43. Декораторы в Python
  44. Ускорение кода с помощью векторизации
  45. Потоковый ввод в Python
  46. Создание словарей и множеств в Python
  47. Сравнение объектов в Python

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