Junior — Middle
87
Cum se realizează schimbul de date între generator și coroutine în program?
Companiile au fost întrebate
Инновационный центр Безопасный транспорт
Răspuns de la AI
sobes.tech AI
Обмен данными между генератором и корутиной в Python осуществляется с помощью методов yield и send(). Генератор приостанавливает выполнение на выражении yield, возвращая значение вызывающему коду. При следующем вызове метода send(value) выполнение генератора возобновляется, а выражение yield возвращает переданное значение value.
Пример:
def coroutine():
received = yield "Начало"
print(f"Получено: {received}")
received = yield "Продолжение"
print(f"Получено снова: {received}")
co = coroutine()
print(next(co)) # Запуск до первого yield, вывод: Начало
print(co.send(10)) # Отправка 10, вывод: Продолжение
co.send(20) # Отправка 20, вывод: Получено снова: 20
Таким образом, генератор и корутина могут обмениваться данными через yield и send(), позволяя двунаправленное взаимодействие.