Курс 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. Тестирование функции сложения
  2. Тип CodeType в Python.
  3. Форматирование кода на Python
  4. Отладка производительности Python
  5. Методы HTTP запросов в Flask
  6. Проверка типа данных
  7. Генераторы в Python
  8. Создание namedtuple списком полей
  9. Непрерывная проверка в Python
  10. Управление экспортом элементов
  11. Итерации в Python
  12. Оформление кода по PEP 8
  13. Работа с географическими данными.
  14. Оценка точности модели
  15. Оптимизация памяти с slots
  16. Форматирование строк в Python
  17. Удаление элементов из списка
  18. Управление асинхронными задачами на Python.
  19. split() — разделение строки
  20. Управление контекстом с помощью декоратора contextmanager
  21. Группировка элементов Python
  22. Таймер обратного отсчета
  23. Сложение матриц в NumPy
  24. Работа с изображениями Pillow
  25. Обход элементов в Python
  26. Возврат значений из генератора
  27. Преобразование символов в нижний регистр
  28. Генерация тестовых данных с factory_boy
  29. Создание директории в Python
  30. Работа с пакетами
  31. Ограничение итераций в Python
  32. Сравнение объектов в Python
  33. Метод сравнения объектов в Python
  34. Функция enumerate() — Python
  35. Основные операции с библиотекой Numpy
  36. Ограничение ресурсов в Python
  37. Сортировка и обратный порядок
  38. Преобразование регистра строк
  39. Использование функции enumerate()
  40. Структура строк в Python
  41. Создание тестовых данных с Faker
  42. Конвертация коллекций в Python.
  43. Генераторы в Python
  44. Функция zip() в Python
  45. Выход из профиля в Django
  46. Непрерывная проверка в Python

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