Курс Python → Генераторы в Python

Генераторы (generators) — это мощный инструмент в Python, который позволяет создавать итераторы, способные генерировать значения на лету. Они позволяют экономить память, так как не требуется хранить все значения в памяти сразу. Генераторы могут быть особенно полезны, когда нужно обработать большой объем данных или когда требуется выполнять итерацию только один раз.

Пример использования генератора в Python:


def my_generator(n):
    for i in range(n):
        yield i ** 2

squares = my_generator(5)

for square in squares:
    print(square)

В данном примере мы создаем генератор my_generator, который возвращает квадраты чисел от 0 до n-1. Функция yield используется для возврата следующего элемента генератора, при этом сохраняется состояние функции. Это позволяет продолжить выполнение функции с того же места, где она была приостановлена.

После создания генератора мы используем цикл for для итерации по элементам генератора squares. При каждой итерации получаем следующее значение из генератора, что позволяет нам получить квадраты чисел от 0 до 4. После прохождения всех элементов генератора итерация завершается.

Использование генераторов в Python позволяет сделать код более эффективным и понятным. Они позволяют легко создавать итераторы для обработки данных, особенно в случаях, когда требуется работать с большими объемами данных или когда нужно выполнить итерацию только один раз.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Оператор @ для умножения матриц
  2. Отображение графиков в Jupyter с Matplotlib
  3. Эффективная конкатенация строк в Python
  4. Python union() функция — объединение множеств
  5. Рациональные числа в Python
  6. Псевдонимы в Python
  7. Поиск анаграмм с Counter
  8. Создание комплексных чисел
  9. Преобразование строк в числа в Python
  10. Генераторы в Python
  11. Функция zip() в Python
  12. Создание новых функций с помощью functools.partial
  13. Отправка HTTP-запросов с User-Agent
  14. Создание объекта времени
  15. Генераторы списков в Python
  16. Метод init в Python
  17. Метод clear для коллекций
  18. Виртуальное окружение Python
  19. Импорт и использование модулей в Python
  20. Оператор * в Python
  21. Получение ID процесса
  22. Разделение списка на гнппы
  23. Сравнение объектов в Python
  24. Извлечение новостей с newspaper3k
  25. Создание класса в Python
  26. Управление контекстом выполнения
  27. Python Менеджер контекста
  28. Освобождение памяти в Python
  29. Декораторы в Python
  30. Работа с zip-архивами в Python
  31. Сортировка слиянием
  32. Разделение строки с регулярными выражениями
  33. Оператор walrus в Python
  34. Встроенные функции Python
  35. Удаление специальных символов
  36. Регистрация на хакатоне
  37. Удаление специальных символов с помощью re.sub
  38. Метод join для объединения строк
  39. Получение текущей даты и времени
  40. Проекты на Python
  41. Переопределение метода __lshift__
  42. Функция enumerate() в Python
  43. Объединение кортежей в Python

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