Есть ли множественное наследование в Python
Python
Middle
Без компании
Есть ли множественное наследование в Python
Ответы
Да, Python поддерживает множественное наследование. Класс может наследоваться от нескольких родительских классов. Порядок наследования определяется алгоритмом MRO (Method Resolution Order), который использует C3 linearization для разрешения конфликтов методов.
Пример:
```
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", так как A указан первым
```
MRO можно посмотреть через `ClassName.__mro__`:
```
print(C.__mro__)
# (<class '__main__.C'>, <class '__main__.A'>, <class '__main__.B'>, <class 'object'>)
```
Важно учитывать, что множественное наследование может усложнить архитектуру, поэтому его следует использовать осознанно.