Курс 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. Итераторы в Python
  3. Зарезервированные слова в Python
  4. Управление ресурсами в Python
  5. Ограничение ресурсов в Python
  6. Структура данных deque в Python
  7. Функция eval() в Python
  8. Работа с IP-адресами в Python
  9. Работа с аргументами командной строки в Python
  10. Метод __complex__ в Python
  11. Фильтрация списков с itertools
  12. Работа с классами данных
  13. Многоточие в Python
  14. Срезы в Python
  15. Форматирование строк в Python
  16. Сравнение def и lambda в Python
  17. Оператор zip в Python
  18. Возврат нескольких значений
  19. Создание OrderedDict
  20. Названия столбцов в Python таблицах
  21. Разделение строки с помощью re.split()
  22. Создание и использование модулей в Python
  23. Метод matmul для умножения матриц
  24. Сортировка в Python
  25. Создание виртуальной среды
  26. Регистрация на курсы SF Education
  27. Деление в Python
  28. Установка Home Assistant
  29. Деление в Python
  30. Динамическая типизация в Python
  31. Форматирование кода на Python
  32. Python itertools combinations() — группировка элементов
  33. Непрерывная проверка в Python
  34. Форматирование строк в Python.
  35. Создание матрицы в Python
  36. Расчет времени выполнения кода
  37. Преобразование строки в число
  38. Работа с кортежами в Python
  39. Шаблоны Flask: условия и циклы
  40. Фильтрация данных в Python.
  41. Оператор Walrus в Python 3.8
  42. Управление памятью в Python
  43. Работа с Colorama
  44. Декораторы в Python
  45. Отправка HTTP-запросов в Python
  46. Фильтрация последовательности

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