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 4 · Mémoire, profilage, optimisationemplacements de classe de données et kw_onlypredict52 / 161
+100 XP
Tâche
📝 **Question :** Prédisez le résultat exact. Deux drapeaux en action : \`Point\` utilise \`slots=True\`, \`User\` utilise \`kw_only=True\`. Deux choses à prédire : (1) est-ce que \`p.z = 99\` réussit sur un point encoché ? (2) est-ce que \`User("Ann", 30)\` fonctionne, ou est-ce que kw_only bloque les arguments de position ? 📋 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 dataclasses import dataclass


@dataclass(slots=True)
class Point:
    x: float
    y: float


@dataclass(kw_only=True)
class User:
    name: str
    age: int = 0


p = Point(1.0, 2.0)
print(f"p:{p.x},{p.y}")

try:
    p.z = 99
    print("z_set")
except AttributeError:
    print("p:slots_block")

try:
    User("Ann", 30)
except TypeError:
    print("user:positional_blocked")

u = User(name="Ann", age=30)
print(f"u:{u.name},{u.age}")

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…