Курс 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. Итерация по копии коллекции
  3. Ограничение ресурсов в Python
  4. Просмотр атрибутов и методов класса
  5. Конвертация коллекций в Python
  6. Нахождение самого длинного слова в списке с помощью max
  7. Генератор надежных паролей
  8. Определение функций с необязательными аргументами
  9. Метод index() в Python
  10. Применение команды break
  11. Проверка подстроки в строке
  12. Функции классификации комплексных чисел
  13. Работа с IP-адресами в Python
  14. Деление в Python
  15. Проверка условий в Python
  16. Flask: создание веб-приложений
  17. Работа с коллекциями Python
  18. Склеивание строк через метод join()
  19. Отправка POST-запроса в REST API
  20. Разделение строк в Python
  21. Подписка на @SelectelNews
  22. Мощь вложенных функций в Python
  23. Логические значения в Python
  24. Проверка списка: any() и all()
  25. Пространство имен в Python
  26. Преобразование PowerPoint в PDF.
  27. Импорт объектов из модулей
  28. Сравнение def и lambda функций в Python
  29. Комментарии в Python.
  30. Метод join для объединения строк
  31. Декораторы классов
  32. Методы shutil для работы с файлами
  33. Обработка StopIteration в Python
  34. Фильтрация данных в Python.
  35. Создание копии итератора
  36. Измерение времени выполнения кода
  37. Метод rmatmul для пользовательских матриц
  38. Отступы в Python
  39. Лямбда-функции в цикле
  40. Многопроцессорное программирование в Python
  41. Комментарии в Python
  42. Замена элементов в списке с помощью генераторов списков
  43. Очистка строки в Python
  44. Парсинг веб-страниц с Beautiful Soup
  45. Создание уникального проекта
  46. Установка и использование pyshorteners
  47. Расчет времени выполнения программы

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