Към основното съдържание
🔒 Режим за преглед. Първите петнадесет урока на Foundations са безплатни; този е Pro. Стартирайте 7-дневен trial, за да отключите редактора, AI подсказките и останалата част от курса. Изисква се карта, отменете по всяко време в Dashboard.Стартирай 7-дневен trial →
← КурсовеSenior Deep-DivesModule 4 · Memory + profiling · RecapГенератори: добив от + изпращанеpredict96 / 161
+125 XP
Задача
📝 **Задача:** Предскажете точния резултат. `outer` делегира на `inner` чрез `yield from`. Драйверът прави `next(g)`, след това `g.send("hi")`, след това последно `next(g)`, обвит в try/except. Проследете кои отпечатъци са огън и в какъв ред. 📋 Приложете функцията по-горе. Тестовете се изпълняват автоматично. 💡 **Съвет:** Прочетете отново теорията, ако се затрудните.
Предскажи изхода

Прочети кода внимателно

def inner():
    print("inner-start")
    received = yield 1
    print(f"got:{received}")
    yield 2
    print("inner-end")


def outer():
    print("outer-pre")
    yield from inner()
    print("outer-post")


g = outer()
print(next(g))
print(g.send("hi"))
try:
    next(g)
except StopIteration:
    print("stopped")

Какво ще изведе програмата? Напиши тук:

💬 Дискусия

Бъди първи — задай въпрос или сподели съвет.
Влез за да се присъединиш към дискусията. Четенето е безплатно.
Зареждане на дискусията…