Курс 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. Сравнение строк в Python
  2. Философия Python
  3. Генератор чисел Фибоначчи
  4. Функция all() в Python
  5. Метод __complex__ в Python
  6. Транспонирование 2D-массива с помощью zip
  7. Создание словарей с defaultdict()
  8. Pillow: работа с изображениями
  9. Генераторы в Python
  10. Оператор walrus в Python
  11. Объединение Python и Shell
  12. Изменение переменной в Python: nonlocal
  13. PATCH-запрос с библиотекой requests
  14. Сглаживание списка
  15. Декодирование байтов в строку
  16. Изменение элемента списка
  17. Хранение переменных в словаре.
  18. UserString в Python
  19. Преобразование строк в числа в Python
  20. Переменная Шредингера
  21. Профилирование с Pandas
  22. Генерация случайных чисел в Python
  23. Импорт классов из другого файла
  24. Генераторы по генератору
  25. Обмен данными с asyncio.Queue
  26. Раздувающийся словарь в Python
  27. Модуль math: основные функции
  28. Подсчет элементов в Python
  29. Очистка данных с Pandas
  30. Эффективная конкатенация строк с использованием join()
  31. Объединение строк с помощью метода join
  32. Измерение времени выполнения с помощью time
  33. Методы split() и join() — Python строк.
  34. Вычисление фазы комплексного числа
  35. Описание скриптов в README
  36. Метод сравнения объектов в Python
  37. Поиск с помощью регулярных выражений
  38. Сортировка HTML-элементов
  39. Генераторы списков в Python
  40. Множественное назначение в Python
  41. Генераторные функции в Python
  42. Основные операции с библиотекой Numpy
  43. Печать месячного календаря
  44. Автоматизация с Python
  45. Экспорт данных в файл.
  46. Преобразование чисел в слова

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