Встречается на собеседованиях • сегодня
Какие знаешь оссобенности множественного наследования в Python
В Python множественное наследование позволяет классу наследовать атрибуты и методы от нескольких родительских классов. Основные особенности:
- Порядок разрешения методов (MRO) - определяется алгоритмом C3, который гарантирует консистентный порядок поиска методов. Можно посмотреть через
ClassName.__mro__.
-
Проблема ромба - если классы-родители наследуют от одного общего предка, Python корректно обрабатывает это благодаря MRO.
-
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__)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы