Přejít k hlavnímu obsahu
🔒 Režim náhledu. Prvních patnáct lekcí Foundations je zdarma; tato je Pro. Spusťte 7denní trial pro odemčení editoru, AI nápověd a zbytku kurzu. Karta vyžadována, zrušte kdykoli v Dashboard.Spustit 7denní trial →
← KurzySenior Deep-DivesModul 2 · Interní prvky a výkon CPythonucontextlib.contextmanagerpredict21 / 161
+75 XP
Úkol
📝 **Otázka:** Předpovězte přesný výkon. \`track\` je generátor \`@contextmanager\`, který tiskne \`enter:\` / \`exit:\` a má rameno \`s výjimkou ValueError\`. První blok \`with\` je čistý běh. Druhá vyvolá \`ValueError("oops")\` uvnitř těla — zhroutí se program před \`print("hotovo")\`, nebo jej \`with\` spolkne? 📋 Vyberte správnou odpověď. 💡 **Tip:** Pokud si nejste jisti, přečtěte si znovu teorii výše.
Předpověz výstup

Přečti kód pozorně

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")

Co program vypíše? Napiš sem:

💬 Diskuze

Buď první — polož otázku nebo se podělej o tip.
Přihlas se abys se zapojil do diskuze. Čtení je zdarma.
Načítání diskuze…