подклассы python

В настоящее время у меня есть класс Polynomial. Инициализация выглядит так:

def __init__(self, *termpairs): self.termdict = dict(termpairs) 

Я создаю многочлен, создавая ключи, причем показатели и соответствующие значения являются коэффициентами. Чтобы создать экземпляр этого класса, введите следующее:

 d1 = Polynomial((5,1), (3,-4), (2,10)) 

который делает словарь следующим:

 {2: 10, 3: -4, 5: 1} 

Теперь я хочу создать подкласс класса Polynomial под названием Quadratic. Я хочу вызвать конструктор класса Polynomial в конструкторе класса Quadratic, однако я не совсем уверен, как это сделать. Я пробовал:

 class Quadratic(Polynomial): def __init__(self, quadratic, linear, constant): Polynomial.__init__(self, quadratic[2], linear[1], constant[0]) 

но я получаю ошибки, у кого есть какие-то подсказки? Я чувствую, что я использую неправильные параметры, когда я вызываю конструктор класса Polynomial.

2 Solutions collect form web for “подклассы python”

Вы, вероятно, хотите

 class Quadratic(Polynomial): def __init__(self, quadratic, linear, constant): Polynomial.__init__(self, (2, quadratic), (1, linear), (0, constant)) 

Вы также должны использовать super() вместо прямого использования конструктора.

 class Quadratic(Polynomial): def __init__(self, quadratic, linear, constant): super(Quadratic, self).__init__(quadratic[2], linear[1], constant[0]) 
Python - лучший язык программирования в мире.