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

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

Преимущества использования генераторов становятся особенно заметными при работе с большими объемами данных или при генерации бесконечных последовательностей. Например, нам нужно сгенерировать квадраты чисел от 0 до 9. Мы можем создать генератор, который будет выглядеть следующим образом:

def squares_generator():
    for i in range(10):
        yield i**2

squares = squares_generator()
for square in squares:
    print(square)

В данном примере функция squares_generator() является генератором, который при каждой итерации цикла for возвращает квадрат числа i. Таким образом, мы можем получить последовательность квадратов чисел от 0 до 9, не храня все значения в памяти одновременно.

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

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

Автор урока

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

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

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

  1. Beautiful Soup — извлечение данных из HTML
  2. Метод __int__ в Python
  3. Получение пути к текущему скрипту с помощью os
  4. Список переменных в Python
  5. Оператор «is not» в Python
  6. Инвертирование словаря
  7. Фильтрация списка чисел
  8. Функция zip() в Python
  9. Модуль array: создание и использование массивов
  10. Создание объекта времени
  11. Python: отличительная особенность — отступы
  12. Работа с PosixPath() в Python
  13. Установка переменной среды в Python
  14. Вывод сложных структур данных с помощью pprint
  15. Работа со словарями в Python
  16. Преобразование данных в Python
  17. Создание и использование модулей в Python
  18. Ошибка NotImplemented в Python
  19. Python: динамическая типизация и проверка типов
  20. Поиск уникальных и повторяющихся элементов
  21. Оператор (*) в Python
  22. Оператор * в Python
  23. Запуск файлового сервера
  24. Добавление элементов в список
  25. Работа с OpenCV
  26. Сортировка с параметром key
  27. Вывод букв строки в Python
  28. Анонимные функции Lambda
  29. Python: Splat-оператор и splatty-splat
  30. Встроенные функции Python
  31. Списки в Python
  32. Область видимости переменных
  33. Скачать видео с YouTube
  34. Магические методы в Python
  35. Зарезервированные слова в Python
  36. Оператор Walrus: правильное использование
  37. Поиск частых элементов в списке
  38. Логирование с Logzero
  39. Python: Фильтрация списков с помощью filter()
  40. Структура данных deque в Python
  41. Сокращение ссылок с pyshorteners
  42. Работа с аргументами командной строки
  43. Преобразование данных в Python
  44. Список переменных с %who
  45. Установка и использование pyshorteners

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