Как организовать обращение к методу родителя двух классов? Здравствуйте. В Python обращение к методу родителя организуется такclass Child(Parent): def __init__(self): Parent.__init__(self) или вот такclass Child(Parent): def __init__(self): super(Child, self).__init__() Но что делать, если вы наследуете не один, а два и более классов?
В случае наследования нескольких классов и нужды обратиться к методу родителя из одного из них, можно воспользоваться функцией super() и передать в неё не только текущий класс, но и текущий экземпляр, а также класс, от которого нужно вызвать метод родителя. Например:
class Parent1: def __init__(self): print("Parent1 initiated") class Parent2: def __init__(self): print("Parent2 initiated") class Child(Parent1, Parent2): def __init__(self): super(Child, self).__init__() child = Child()
В данном случае метод init() родителя Parent1 будет вызван при создании экземпляра класса Child.
В случае наследования нескольких классов и нужды обратиться к методу родителя из одного из них, можно воспользоваться функцией super() и передать в неё не только текущий класс, но и текущий экземпляр, а также класс, от которого нужно вызвать метод родителя. Например:
class Parent1:def __init__(self):
print("Parent1 initiated")
class Parent2:
def __init__(self):
print("Parent2 initiated")
class Child(Parent1, Parent2):
def __init__(self):
super(Child, self).__init__()
child = Child()
В данном случае метод init() родителя Parent1 будет вызван при создании экземпляра класса Child.