Встречается на 1% собеседований по Python
Какие знаешь оссобенности множественного наследования в 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
интервью вопросы и ответы