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

Какие знаешь оссобенности множественного наследования в Python

В Python множественное наследование позволяет классу наследовать атрибуты и методы от нескольких родительских классов. Основные особенности:

  1. Порядок разрешения методов (MRO) - определяется алгоритмом C3, который гарантирует консистентный порядок поиска методов. Можно посмотреть через ClassName.__mro__.
  1. Проблема ромба - если классы-родители наследуют от одного общего предка, Python корректно обрабатывает это благодаря MRO.

  2. super() - работает в соответствии с MRO, вызывая следующий метод в цепочке наследования.

Пример:

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

class B(A):
    def method(self):
        print("B")
        super().method()

class C(A):
    def method(self):
        print("C")
        super().method()

class D(B, C):
    def method(self):
        print("D")
        super().method()

d = D()
d.method()  # Вывод: D B C A
print(D.__mro__)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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