Курс 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. HTTP-запросы с библиотекой Requests
  2. Метод classmethod
  3. Работа с часовыми поясами в Python.
  4. Склеивание строк без циклов
  5. Метод get() для словарей
  6. Работа с набором данных CIFAR10 в PyTorch
  7. Удаление элементов из списка
  8. Счетчик в Python: most_common()
  9. Подписка на Kaspersky Team
  10. Сравнение def и lambda-функций
  11. Методы и функции в Python
  12. Пересечение списков с использованием множеств
  13. Заказ карты Тинькофф Black
  14. Проверка класса объекта
  15. Управление памятью в numpy.
  16. discard() — удаление элемента из множества
  17. Структурирование именованных констант
  18. Навыки Python: строки, типы данных
  19. Функция reduce() в Python
  20. Преобразование в float
  21. PrettyTable: создание таблицы
  22. Перевернуть список в Python
  23. Структура данных deque в Python
  24. Замена текста в Python
  25. Именованные аргументы в Python
  26. Генераторы в Python
  27. Работа со строками в Python
  28. Преобразование строк в числа в Python
  29. Декораторы в Python
  30. Распаковка элементов последовательности
  31. Документирование функций в Python
  32. Извлечение аудио из видео
  33. Форматирование строк в Python
  34. Solidity для DeFi Ethereum
  35. Чтение бинарного файла в Python.
  36. Dict Comprehension в Python
  37. Ускоренный импорт библиотек
  38. Объединение множеств в Python
  39. Применение команды break
  40. Методы list в Python
  41. Декораторы в Python
  42. Удаление эмодзи с помощью pandas
  43. Обработка элементов в Python
  44. Мониторинг работы программы Py-spy
  45. Отладка регулярных выражений в Python
  46. Множественные конструкторы в Python
  47. Регулярные выражения: метод match
  48. Комментарии в Python

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