Prejsť na hlavný obsah
🔒 Režim náhľadu. Prvých pätnásť lekcií Foundations je zadarmo; táto je Pro. Spustite 7-dňový trial pre odomknutie editora, AI nápovied a zvyšku kurzu. Karta vyžadovaná, zrušte kedykoľvek v Dashboard.Spustiť 7-dňový trial →
← KurzySenior Deep-DivesModul 2 · Vnútorné prvky a výkon CPythonucontextlib.contextmanagerpredict21 / 161
+75 XP
Úloha
📝 **Otázka:** Predpovedajte presný výstup. \`track\` je generátor \`@contextmanager\`, ktorý tlačí \`enter:\` / \`exit:\` a má rameno \`okrem ValueError\`. Prvý blok \`with\` je čistý chod. Druhá vyvolá \`ValueError("oops")\` vo vnútri tela — zrúti sa program pred \`print("hotovo")\`, alebo ho \`with\` prehltne? 📋 Vyberte správnu odpoveď. 💡 **Tip:** Ak si nie ste istí, prečítajte si znova teóriu vyššie.
Predpovedz výstup

Prečítaj kód pozorne

from contextlib import contextmanager


@contextmanager
def track(label):
    print(f"enter:{label}")
    try:
        yield label.upper()
    except ValueError as e:
        print(f"caught:{e}")
    finally:
        print(f"exit:{label}")


with track("a") as t:
    print(f"body:{t}")

with track("b") as t:
    print(f"body:{t}")
    raise ValueError("oops")

print("done")

Čo program vypíše? Napíš sem:

💬 Diskusia

Buď prvý — polož otázku alebo sa podeľ o tip.
Prihlás sa aby si sa zapojil do diskusie. Čítanie je zadarmo.
Načítava sa diskusia…