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

Зачем нужен yield вместо return в функциях в Python

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

Пример:

python
def generate_numbers(n):
    for i in range(n):
        yield i

Использование:

for num in generate_numbers(5):
print(num) # Выводит 0, 1, 2, 3, 4 по одному

text

Ключевые отличия:
- Генератор с `yield` ленивый - вычисляет значения по требованию
- Сохраняет состояние между вызовами
- Экономит память для больших данных
- Позволяет создавать бесконечные последовательности

`return` завершает функцию полностью, возвращая одно значение, тогда как `yield` приостанавливает функцию, сохраняя локальные переменные для последующих вызовов.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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