Наследование нескольких классов Python: вызов переменной дочернего класса

#python

#python

Вопрос:

Это простой пример.

 class p1:
    def __init__(self,x):
        self.x=x
class p2:
    def __init__(self,y):
        self.y=y

class son(p1,p2):
    def pp(self):
        print(self.p2.y)

c=son(p1(1),p2(2))
c.pp()
  

Теперь son класс унаследовал p1 и p2 . Как я могу выполнить son().pp ?

Комментарии:

1. Ваша предпоследняя строка вызывает конструктор son , который должен быть определен как __init__ . Я думаю, вы ищете super функцию

Ответ №1:

P1 и p2 не являются переменными, к которым вы можете получить доступ подобным образом. Они являются классами. Синтаксис класса (хотя он точно такой же, как синтаксис вызова функции) не добавляет P1, p2 в качестве переменных, которые вы можете использовать.

То, что вы ищете, — это функция super (). https://www.pythonforbeginners.com/super/working-python-super-function