Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

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

Какой синтаксис создания генераторов?

Этот вопрос проверяет знания о синтаксисе создания генераторов в Python, который используется для создания итераторов с помощью ключевого слова yield.

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

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

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

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

Генераторы полезны при работе с большими объемами данных, когда необходимо избежать загрузки всех данных в память сразу.

Пример создания генератора:

def count_up_to(max):
    	count = 1
    	while count <= max:
        	yield count
        	count += 1

counter = count_up_to(5)
for num in counter:
    	print(num)

Этот генератор создает последовательность от 1 до 5, каждый раз приостанавливая выполнение после yield и возвращая значение по одному.

Когда использовать:

  • Когда необходимо создать итератор для обработки данных по одному элементу за раз (например, при обработке больших объемов данных или чтении файлов).

  • Аватар

    Python Guru

    Sergey Filichkin

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

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • Python

    Python

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

#yield

#generator

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

  • Аватар

    Python Guru

    Sergey Filichkin

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