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 6 · FAANG-2026 deep divesdataclass field(default_factory) — the mutable-default blockpredict114 / 161
+150 XP
Tâche
📝 **Tâche :** Prédisez le résultat exact. (1) Essayez de définir une classe de données \`Bad\` avec \`items : list = []\` — interceptez la ValueError. (2) Définissez \`Good\` avec \`field(default_factory=list)\`. (3) Créez deux instances, ajoutez-les à votre liste, puis imprimez les deux listes + vérifiez l'identité. Est-ce que \`g2\` voit l'ajout ? 📋 Implémentez la fonction ci-dessus. Les tests s'exécutent automatiquement. 💡 **Indice :** Relisez la théorie si vous êtes bloqué.
Prédis la sortie

Lis le code attentivement

from dataclasses import dataclass, field


try:
    @dataclass
    class Bad:
        items: list = []
except ValueError as e:
    print(f"err:{e}")


@dataclass
class Good:
    items: list = field(default_factory=list)


g1 = Good()
g2 = Good()
g1.items.append(1)
print(g1.items)
print(g2.items)
print(g1.items is g2.items)

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…