Sobes.tech
Junior — Middle
127

Wat is het verschil tussen de operators return en yield in de context van functies en generators?

Bedrijven waar gevraagd werd
АэрофлотАэрофлот

Antwoord van AI

sobes.tech AI

Оператор return используется в функциях для возврата значения и завершения выполнения функции. После return функция прекращает работу и возвращает указанное значение.

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

Пример:

# Функция с return
def func_return():
    return 1

# Генератор с yield
def func_yield():
    yield 1
    yield 2

print(func_return())       # Выведет: 1
print(list(func_yield()))  # Выведет: [1, 2]

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