Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python子类_Python_Inheritance_Subclass_Quadratic - Fatal编程技术网

python子类

python子类,python,inheritance,subclass,quadratic,Python,Inheritance,Subclass,Quadratic,我现在有一个叫做多项式的类,初始化如下: def __init__(self, *termpairs): self.termdict = dict(termpairs) 我通过使键成为指数和 相关值是系数。要创建此类的实例,请输入以下内容: d1 = Polynomial((5,1), (3,-4), (2,10)) 这使得字典是这样的: {2: 10, 3: -4, 5: 1} 现在,我想创建多项式类的一个子类,称为二次型。我想在二次类构造函数中调用多项式类构造函数,但是我不太

我现在有一个叫做多项式的类,初始化如下:

def __init__(self, *termpairs):
    self.termdict = dict(termpairs) 
我通过使键成为指数和 相关值是系数。要创建此类的实例,请输入以下内容:

d1 = Polynomial((5,1), (3,-4), (2,10))
这使得字典是这样的:

{2: 10, 3: -4, 5: 1}
现在,我想创建多项式类的一个子类,称为二次型。我想在二次类构造函数中调用多项式类构造函数,但是我不太确定怎么做。我尝试的是:

class Quadratic(Polynomial):
def __init__(self, quadratic, linear, constant):
    Polynomial.__init__(self, quadratic[2], linear[1], constant[0])
但我有错误,有人有什么建议吗?我觉得调用多项式类构造函数时使用了错误的参数

你可能想要

class Quadratic(Polynomial):
    def __init__(self, quadratic, linear, constant):
        Polynomial.__init__(self, (2, quadratic), (1, linear), (0, constant))
您还应该使用而不是直接使用构造函数

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

谢谢,这很有效,我只是把数字放错地方了。你能详细解释一下为什么这样更好吗?明白了。有关更多信息,请参阅本文: