#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