Курс 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. Сокращение ссылок с pyshorteners
  2. Проблемы с именами переменных
  3. Инициализация переменных
  4. Работа с эмодзи в Python
  5. Работа с контекстными переменными
  6. Библиотека itertools: объединение списков
  7. Установка и использование howdoi
  8. Обработка StopIteration в Python
  9. Метод округления чисел
  10. Импорт модулей в Python 3.12
  11. Работа с итераторами в Python
  12. Типы возвращаемых значений в Python
  13. Разбиение текста в Python
  14. Работа с файлами в Python
  15. Сравнение объектов в Python
  16. Работа с геоданными с помощью geopy
  17. Работа с асинхронными задачами в Python
  18. Управление пакетами с pip
  19. Сохранение Unicode в JSON
  20. Реверс строки и списка в Python.
  21. Однострочники Python
  22. Зарезервированные слова в Python
  23. Возвращение нескольких значений
  24. Отступы в Python
  25. Сериализация объектов в Python
  26. Открытие и редактирование скриптов Python
  27. Работа с итераторами в Python
  28. Обход словаря в Python
  29. Основные операции с Numpy
  30. Поиск анаграмм с Counter
  31. Подсчет элементов в Python
  32. Метод title() в Python
  33. Генераторы в Python
  34. Работа с изображениями Pillow
  35. Работа с collections в Python
  36. Оператор match в Python
  37. Проверка надежности пароля на Python
  38. Создание функций с произвольным количеством аргументов
  39. Глобальные переменные в Python
  40. Нахождение хеша для бесконечности и NaN в Python
  41. Операции с комплексными числами
  42. Работа с часовыми поясами в Python
  43. Создание генераторов в Python
  44. Форматирование строк в Python

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