Встречается на собеседованиях • сегодня

Что такое yield в Python

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

Как это работает:

  1. При вызове функции с yield она возвращает генератор, а не выполняет код сразу.
  2. При каждом вызове next() генератор выполняет код до следующего yield, возвращает значение и приостанавливается.
  3. При следующем вызове next() выполнение продолжается с места остановки.

Пример:

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

counter = count_up_to(3)
print(next(counter))  # 1
print(next(counter))  # 2
print(next(counter))  # 3

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

  • Экономия памяти (значения генерируются "на лету")
  • Ленивые вычисления (генерация только по запросу)
  • Возможность работы с бесконечными последовательностями

Генераторы часто используются в циклах for, где next() вызывается автоматически.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы