Курс Python → Генераторы в Python

Генераторные функции (generator functions) — это мощный инструмент в Python, который позволяет создавать итераторы с помощью ключевого слова yield. Когда у вас есть необходимость обработать большой объем данных или выполнить сложные операции с элементами списка, генераторные функции становятся незаменимыми. Они позволяют удобно организовать фильтрацию и обработку элементов списка, не загружая память излишне.

Важным преимуществом использования генераторных функций является их эффективность. Поскольку генераторы работают по требованию (lazy evaluation), они не требуют хранения всех элементов списка в памяти одновременно. Вместо этого элементы обрабатываются по мере необходимости, что позволяет сэкономить ресурсы и улучшить производительность программы.

Для создания генераторной функции в Python необходимо использовать ключевое слово yield. Это ключевое слово позволяет вернуть значение из функции, приостановить ее выполнение и сохранить текущее состояние. При каждом вызове генераторной функции она продолжает выполнение с того места, где была приостановлена, что делает ее итератором.


def my_generator():
    for i in range(5):
        yield i

gen = my_generator()
for item in gen:
    print(item)

В приведенном примере мы создаем генераторную функцию my_generator(), которая возвращает числа от 0 до 4 при каждом вызове. Затем мы создаем объект-генератор и итерируемся по нему, выводя каждый элемент на экран. Таким образом, мы можем эффективно обрабатывать большие объемы данных, не загружая память и повышая производительность программы.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Обработка исключений в Python
  2. Регистрация на TenChat
  3. Antigravity модуль
  4. Область видимости переменных в Python
  5. Операции с датами в Python
  6. Сортировка элементов в Python
  7. Метод __float__ в Python
  8. Работа с часовыми поясами в Python
  9. Defaultdict в Python
  10. Списковое включение в Python
  11. Установка Python3.7 и PIP
  12. Расширение информации об ошибке в Python
  13. Нахождение самого длинного слова в списке с помощью max
  14. Шаблоны и наследование в Flask
  15. Генерация UUID в Python
  16. Разделение строки с помощью split()
  17. Настройка Cron
  18. Установка и использование Virtualenv
  19. Ускоренный импорт библиотек
  20. Обезопасьте ввод данных
  21. Использование эмодзи в Python
  22. Работа с итераторами в Python
  23. Функция divmod() в Python
  24. Big O оптимизация
  25. Объединение, распаковка и деструктуризация
  26. Работа с утверждениями в Python
  27. Вычисление фазы комплексного числа
  28. Нахождение разницы между списками в Python
  29. Подсчет частоты элементов с Counter
  30. Удаление дубликатов из списка
  31. Создание новой даты в Python
  32. Методы работы со строками в Python
  33. Создание словарей и множеств в Python
  34. Создание треугольника Паскаля
  35. Декораторы с аргументами в Python
  36. Поиск кода
  37. Поиск всех индексов подстроки
  38. Хеширование паролей с использованием salt
  39. Удаление файлов в Python
  40. Подсчет элементов с помощью Counter из collections
  41. Форматирование строк в Python
  42. Сумма элементов списка
  43. Функции классификации комплексных чисел
  44. Экспорт данных в файл.
  45. Проверка кортежей.
  46. Создание задания в Cron
  47. Преобразование PowerPoint в PDF.
  48. Функция eval() в Python

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