Курс 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. Обновление данных через PUT запрос
  2. Возврат нескольких значений
  3. Метод setdefault() в Python
  4. Метод index() в Python
  5. Генераторы в Python
  6. Прокачанный трейсинг ошибок
  7. Получение пути к текущему скрипту с помощью os
  8. EMOT преобразование эмодзи в текст
  9. Работа с CSV файлами
  10. Работа с deque из collections
  11. Структура данных deque в Python
  12. Комментарии в Python
  13. Работа со списками
  14. Метод rlshift для битового сдвига
  15. Модуль xkcd: добавление юмора в Python
  16. Создание уникального множества
  17. Векторизация в Python с NumPy.
  18. Установка виртуального окружения Python
  19. Удаление ссылок в Python
  20. Удаление дубликатов в pandas
  21. Обновление ключей в Python
  22. Изменение объектов в Python
  23. Улучшение читаемости кода в Python
  24. Присоединение элементов коллекции
  25. Метод join() для объединения элементов в строку.
  26. Сортировка с помощью параметра key
  27. Структуры данных в Python
  28. Использование defaultdict в Python
  29. Переменная Шредингера
  30. Работа с атрибутом dict
  31. Наследование в программировании
  32. Повторение элементов в Python
  33. Структурирование именованных констант
  34. *args и **kwargs в Python
  35. Поиск подстроки в строке
  36. Использование html-скриптов в Jupyter Notebook
  37. Потоковый ввод в Python
  38. Визуализация пропусков данных
  39. Работа с комбинациями в Python.
  40. Просмотр внешнего файла в Python
  41. Настройка вывода в Numpy
  42. Динамическая типизация в Python
  43. Декораторы в Python
  44. Работа с CSV в Python
  45. Применение функции к элементам списка

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