Курс 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. Дизассемблирование Python кода
  4. Цикл for в Python
  5. Виртуальные среды в Python
  6. Создание словарей в Python
  7. kwargs в Python
  8. Подсчет элементов с помощью Counter
  9. Работа с путями в Python
  10. Оптимизация сравнения в Python
  11. Лимиты на ресурсы Python
  12. Оператор continue в Python
  13. Метод join() для объединения элементов в строку.
  14. Аннотации типов в Python
  15. Создание списка через итерацию
  16. PATCH-запрос с библиотекой requests
  17. Генератор чисел Фибоначчи
  18. Сортировка HTML по CSS-селектору
  19. Именование столбцов в Python с pandas
  20. Работа с каталогами в Python
  21. Создание и использование модулей в Python
  22. Оформление кода на Python
  23. Отладка в командной строке
  24. Переменная Шредингера
  25. Цепные операции в Python
  26. Объединение словарей в Python
  27. Сортировка в Python
  28. Работа с итераторами в Python
  29. Инверсия списка и строки в Python
  30. Python reversed() функция
  31. Многоточие в Python
  32. Изменение переменной в Python: nonlocal
  33. Использование двоеточия в Python
  34. UserString в Python
  35. Beautiful Soup — извлечение данных из HTML
  36. Руководство по Pymorphy2
  37. Применение функции к списку
  38. Повторение элементов в Python
  39. Разработка игры Pong с turtle
  40. Переворот списка в Python
  41. Отладчик pdb: начало работы
  42. Генератор данных в Keras
  43. Работа с контекстными переменными
  44. Форматирование данных с помощью pprint
  45. Метод ipow для возведения в степень
  46. Работа с пакетами
  47. Обработка исключений в Python
  48. Преобразование чисел в Python

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