Встречается на собеседованиях • сегодня
Можно ли вызвать метод класса, который не определен по MRO в Python
Да, можно, но только если метод явно вызван через экземпляр другого класса или через super() с указанием нужного класса. В обычном случае Python ищет метод по MRO (Method Resolution Order), и если его нет, вызовет AttributeError.
Пример:
python
class A:
def method(self):
print("A.method")
class B:
def method(self):
print("B.method")
class C(A, B):
pass
c = C()
c.method() # Выведет "A.method" (по MRO)
B.method(c) # Вызов метода B, несмотря на MROТакже можно использовать super() с явным указанием класса:
python
super(A, c).method() # Вызовет B.method, пропуская AНо просто c.method() без явного указания класса будет следовать MRO.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы