Множественное наследование
При множественном наследовании, применяется правило MRO (Method Resolution Order) - порядок разрешения методов - тот кто левее, тот главнее
Будет искать метод сначала в Proffessor потом в Student. Т.к. в Proffessor есть такой метод, то выведет его.
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() у экземпляра класса.
Last updated
Was this helpful?