> For the complete documentation index, see [llms.txt](https://igor-19.gitbook.io/qa/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://igor-19.gitbook.io/qa/avtomatizaciya-testirovaniya/python/oop-v-python-vo-vsekh-podrobnostyakh/mnozhestvennoe-nasledovanie.md).

# Множественное наследование

При множественном наследовании, применяется правило *MRO* (Method Resolution Order) - порядок разрешения методов - *тот кто левее, тот главнее*

Будет искать метод сначала в *Proffessor* потом в *Student*. Т.к. в *Proffessor*  есть такой метод, то выведет его.

```python
class Person:
	def hello(self):
		print("I am Human")

class Student(Person):
	def hello(self):
		print("I am a student")

class Proffessor(Person):
	def hello(self):
		print("I am a proffessor")

class SomeOne(Proffessor, Student):
	pass

s = SomeOne()

s.hello()
# I am a proffessor
12345678910111213141516171819
```

Чтобы посмотреть, *как будет произведен поиск в пространстве имен* нужных свойств и методов, можно вызвать функцию `mro()` у экземпляра класса.

```python
...
s.__class__.mro()

# [__main__.SomeOne, __main__.Prof, __main__.Student,__main__.Person, object]
1234
```

<br>
