Курс 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. Оператор continue в Python
  2. Генераторные выражения и islice.
  3. Основы слова
  4. Dict Comprehension в Python
  5. Отступы в Python
  6. Возведение в квадрат с помощью itertools
  7. Цепные операции в Python
  8. Python Менеджер контекста
  9. Создание списков в Python
  10. Метод ipow для возведения в степень
  11. Блок else в обработке исключений
  12. Изменение списка срезом
  13. Обработка исключений
  14. Создание матрицы в Python
  15. Метод radd для пользовательских чисел
  16. Цикл for в Python
  17. Работа с Path в Python
  18. Комментарии в Python
  19. Загрузка постов Instagram
  20. Создание комплексных чисел
  21. Визуализация пропусков данных
  22. Форматирование вывода списков
  23. Сравнение объектов в Python
  24. Округление в Python
  25. Генераторы данных
  26. Установка пакета в Python
  27. Асинхронное программирование с asyncio
  28. Манипуляция формой массива в Numpy
  29. Множества и frozenset
  30. Разделение строки с помощью re.split()
  31. Метод join для объединения строк
  32. Python: библиотеки и функции
  33. Проверка типов с использованием isinstance
  34. Python Enum Weekday Usage
  35. Активация Matplotlib в Jupyter
  36. Python Translator: создание локальных переводчиков
  37. Flask: создание веб-приложений
  38. Функция pow() — возвести число в степень
  39. Установка переменной среды в Python
  40. Регистрация на курсы SF Education
  41. Создание и удаление объектов
  42. Progress с библиотекой tqdm
  43. Повторение элементов списков
  44. Создание списка дат
  45. Построение графиков в Matplotlib
  46. Проверка класса объекта
  47. Импорт в Python: список all

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