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 2 · Composants internes et performances de CPythonRéférences faibles (module Weakref)predict19 / 161
+100 XP
Tâche
📝 **Question :** Prédisez le résultat exact. \`obj = Big("A")\` est la seule référence forte ; \`ref\` est une référence faible. Après \`del obj\` + \`gc.collect()\`, que renvoie \`ref()\` ? 📋 Choisissez la bonne réponse. 💡 **Indice :** Relisez la théorie ci-dessus en cas de doute.
Prédis la sortie

Lis le code attentivement

import weakref
import gc


class Big:
    def __init__(self, label):
        self.label = label


obj = Big("A")
ref = weakref.ref(obj)
print(f"alive:{ref() is not None}")
print(f"label:{ref().label}")
del obj
gc.collect()
print(f"alive:{ref() is not None}")
print(f"deref:{ref()}")

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…