Sari la conținutul principal
🔒 Mod previzualizare. Primele cincisprezece lecții Foundations sunt gratuite; aceasta este Pro. Pornește un trial de 7 zile pentru a debloca editorul, sugestiile AI și restul programului. Card necesar, anulează oricând în Dashboard.Pornește trial de 7 zile →
← CursuriSenior Deep-DivesModule 1 · Concurrency internals · RecapExitStack pentru gestionarea dinamică a contextuluipredict23 / 161
+100 XP
Sarcină
📝 **Întrebare:** Preziceți rezultatul exact. \`res(name)\` este un mic manager de context care afișează \`open:\` / \`close:\`. Trei resurse intră într-un \`ExitStack\` în ordinea A → B → C. Când iese \`with\`, în ce ordine se închid? 📋 Alegeți răspunsul potrivit. 💡 **Sugestie:** Recitiți teoria de mai sus dacă nu sunteți sigur.
Prezice ieșirea

Citește codul cu atenție

from contextlib import ExitStack, contextmanager


@contextmanager
def res(name):
    print(f"open:{name}")
    try:
        yield name
    finally:
        print(f"close:{name}")


with ExitStack() as stack:
    a = stack.enter_context(res("A"))
    b = stack.enter_context(res("B"))
    c = stack.enter_context(res("C"))
    print(f"use:{a}{b}{c}")

print("done")

Ce va afișa programul? Scrie aici:

💬 Discuție

Fii primul — pune o întrebare sau împărtășește un sfat.
Conectează-te pentru a te alătura discuției. Citirea este gratuită.
Se încarcă discuția…