Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: generator, yield, iterator, lazy, coroutine

Как создать генератор с помощью yield?

Проверяет умение писать ленивые последовательности через yield.

Короткий ответ

Генератор создаётся функцией с ключевым словом yield вместо return. При вызове такой функции возвращается генераторный объект, который при итерации последовательно выполняет тело функции до следующего yield, сохраняя состояние между вызовами.

Длинный ответ

Синтаксис:

def count_up_to(n):
    	i = 1
    	while i <= n:
        	yield i
        	i += 1

Поведение:

  • Первый next() начинает выполнение до yield.

  • Каждый последующий next() возвращает следующее значение.

Преимущества:

  • Ленивые вычисления, экономия памяти.

Заключение:

  • Используйте генераторы для потоковой обработки больших данных.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • Python

    Python

Ключевые слова

#generator

#yield

#iterator

#lazy

#coroutine

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.