Vai al contenuto principale
🔒 Modalità anteprima. Le prime quindici lezioni di Foundations sono gratuite; questa è Pro. Avvia un trial di 7 giorni per sbloccare l'editor, i suggerimenti AI e il resto del programma. Carta richiesta, disdici in qualsiasi momento dalla Dashboard.Avvia trial di 7 giorni →
← CorsiSenior Deep-DivesModule 6 · FAANG-2026 deep divesC3 linearisation — predict the MROpredict107 / 161
+150 XP
Compito
📝 **Compito:** Prevedere l'output esatto. Eredità del diamante: \`D(B, C)\` e \`E(C, B)\` — stesse quattro classi, ordine opposto nelle basi. Ognuno riceve un MRO diverso. Quindi il test prova \`F(D, E)\` — che richiederebbe SIA "B prima di C" (da MRO di D) SIA "C prima di B" (da E). Che succede? 📋 Implementa la funzione sopra. I test vengono eseguiti automaticamente. 💡 **Suggerimento:** Rileggi la teoria se rimani bloccato.
Predici output

Leggi il codice attentamente

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

Cosa stamperà il programma? Scrivi qui:

💬 Discussione

Sii il primo a fare una domanda o condividere un consiglio.
Accedi per partecipare alla discussione. La lettura è gratuita.
Caricamento discussione…