Перейти к основному содержимому
🔒 Режим превью. Первые 15 уроков Foundations — бесплатные; этот — Pro. Запусти 7-дневный trial чтобы открыть редактор, AI-подсказки и остальной курс. Нужна карта, отмена в Dashboard в любой момент.Начать 7-дневный trial →
← КурсыSenior Deep-DivesModule 6 · FAANG-2026 deep divesC3 linearisation — predict the MROpredict107 / 161
+150 XP
Задание
📝 **Задание:** Предскажите точный результат. Алмазное наследование: \`D(B, C)\` и \`E(C, B)\` — одни и те же четыре класса, противоположный порядок по основаниям. Каждый получает разные MRO. Затем тест пытается выполнить \`F(D, E)\`, что потребует ОБА «B перед C» (из MRO D) И «C перед B» (из E). Что происходит? 📋 Реализуйте функцию выше. Тесты запускаются автоматически. 💡 **Подсказка:** Если вы застряли, перечитайте теорию.
Предскажи вывод

Прочти код внимательно

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

Что выведет программа? Напиши здесь:

💬 Обсуждение

Будьте первым — задайте вопрос или поделитесь подсказкой.
Войдите чтобы участвовать в обсуждении. Чтение бесплатно.
Загрузка обсуждения…