Μετάβαση στο κύριο περιεχόμενο
🔒 Λειτουργία προεπισκόπησης. Τα πρώτα δεκαπέντε μαθήματα Foundations είναι δωρεάν· αυτό είναι Pro. Ξεκινήστε ένα 7ήμερο trial για να ξεκλειδώσετε τον επεξεργαστή, τις υποδείξεις AI και το υπόλοιπο του προγράμματος. Απαιτείται κάρτα, ακυρώνετε οποιαδήποτε στιγμή από το Dashboard.Ξεκινήστε 7ήμερο trial →
⚡
← Μαθήματα›Senior Deep-DivesModule 1 · Concurrency internals · Recap›ExitStack για δυναμική διαχείριση περιβάλλοντοςpredict23 / 161
+100 XP
Εργασία
📝 **Ερώτηση:** Προβλέψτε την ακριβή έξοδο. Το \`res(name)\` είναι ένας μικροσκοπικός διαχειριστής περιβάλλοντος που εκτυπώνει το \`open:\` / \`close:\`. Τρεις πόροι εισάγουν ένα \`ExitStack\` με σειρά A → B → C. Όταν το \`με\` εξέρχεται, με ποια σειρά κλείνουν; 📋 Επιλέξτε τη σωστή απάντηση. 💡 **Υπόδειξη: ** Ξαναδιαβάστε την παραπάνω θεωρία εάν δεν είστε σίγουροι.
Πρόβλεψε έξοδο

Διάβασε τον κώδικα προσεκτικά

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

Τι θα εμφανίσει το πρόγραμμα; Γράψε εδώ: