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 divesC3 linearisation — predict the MROpredict107 / 161
+150 XP
Tâche
📝 **Tâche :** Prédisez le résultat exact. Héritage du diamant : \`D(B, C)\` et \`E(C, B)\` — quatre mêmes classes, ordre opposé dans les bases. Chacun obtient un MRO différent. Ensuite, le test essaie \`F(D, E)\` — ce qui nécessiterait À LA FOIS "B avant C" (du MRO de D) ET "C avant B" (depuis E). Ce qui se produit? 📋 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

class A:
    pass


class B(A):
    pass


class C(A):
    pass


class D(B, C):
    pass


class E(C, B):
    pass


print([cls.__name__ for cls in D.__mro__])
print([cls.__name__ for cls in E.__mro__])

try:
    class F(D, E):
        pass
except TypeError:
    print("F:mro_conflict")

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…