Back to questions
СБЕР
Билайн
Junior — Middle
73
Каким образом в Python осуществляется поддержка наследования от нескольких классов одновременно?
Companies where asked
Answer from AI
sobes.tech AI
В Python поддержка множественного наследования реализована напрямую через указание нескольких базовых классов при объявлении класса.
Синтаксис:
class DerivedClass(BaseClass1, BaseClass2):
pass
При этом класс DerivedClass наследует атрибуты и методы от обоих базовых классов. Если методы с одинаковыми именами есть в нескольких базах, порядок разрешения имен (Method Resolution Order, MRO) определяет, какой метод будет вызван.
Пример:
class A:
def greet(self):
print("Привет из A")
class B:
def greet(self):
print("Привет из B")
class C(A, B):
pass
obj = C()
obj.greet() # Выведет: Привет из A
Здесь C наследует от A и B, и при вызове greet() используется метод из A, так как A указан первым и имеет приоритет в MRO.
Можно посмотреть MRO через:
print(C.mro())