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

В чем разница между return и yield

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

Функция с yield становится генератором, который можно итерировать:

python
def generator_example():
    yield 1
    yield 2
    yield 3

gen = generator_example()
print(next(gen))  # 1
print(next(gen))  # 2

Ключевые отличия:

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

Пример с return:

python
def sum_numbers(a, b):
    return a + b  # функция завершается после return
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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