Aller au contenu principal
🔒 Mode aperçu. Les quinze premières leçons Foundations sont gratuites ; celle-ci est Pro. Démarrez un trial de 7 jours pour débloquer l'éditeur, les conseils AI et le reste du programme. Carte requise, annulez à tout moment dans Dashboard.Démarrer le trial de 7 jours →
← CoursSenior Deep-DivesModule 1 · Concurrency internals · RecapExitStack pour la gestion dynamique du contextepredict23 / 161
+100 XP
Tâche
📝 **Question :** Prédisez le résultat exact. \`res(name)\` est un petit gestionnaire de contexte qui imprime \`open:\` / \`close:\`. Trois ressources entrent dans un \`ExitStack\` dans l'ordre A → B → C. Lorsque le \`with\` se termine, dans quel ordre se ferment-ils ? 📋 Choisissez la bonne réponse. 💡 **Indice :** Relisez la théorie ci-dessus en cas de doute.
Prédis la sortie

Lis le code attentivement

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

Que va afficher le programme ? Écris ici :

💬 Discussion

Soyez le premier à poser une question ou partager une astuce.
Connectez-vous pour rejoindre la discussion. La lecture est gratuite.
Chargement de la discussion…