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

Python Middle Аэрофлот
В чем разница между return и yield
Ответы
Основное отличие между `return` и `yield` в Python заключается в том, что `return` завершает выполнение функции и возвращает значение, а `yield` приостанавливает выполнение функции, сохраняя её состояние, и возвращает значение по требованию (ленивое вычисление). Функция с `yield` становится генератором, который можно итерировать: ``` def generator_example(): yield 1 yield 2 yield 3 gen = generator_example() print(next(gen)) # 1 print(next(gen)) # 2 ``` Ключевые отличия: - `return` — одноразовый выход из функции. - `yield` — позволяет функции возвращать значения по частям, сохраняя состояние между вызовами. - Генераторы (`yield`) экономят память, так как не хранят все элементы сразу. Пример с `return`: ``` def sum_numbers(a, b): return a + b # функция завершается после return ```