Встречается на собеседованиях • сегодня

Возможно ли множественное наследование без MRO

Да, в Python множественное наследование всегда использует MRO (Method Resolution Order), так как это механизм, который определяет порядок поиска методов при наследовании. Однако можно эмулировать поведение без явного MRO, используя композицию или делегирование.

Пример с композицией:

python
class A:
    def method(self):
        return "A"

class B:
    def method(self):
        return "B"

class C:
    def __init__(self):
        self.a = A()
        self.b = B()
    
    def method_a(self):
        return self.a.method()
    
    def method_b(self):
        return self.b.method()

c = C()
print(c.method_a())  # "A"
print(c.method_b())  # "B"

Здесь класс C содержит экземпляры A и B, вызывая их методы явно. Это позволяет избежать конфликтов MRO, но требует ручного управления вызовами.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы