Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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
';TypeError:uuu init_uuuuuuuuu()为参数';获取了多个值;使用super()函数使用Python 3_Python_Python 3.x_Oop_Super - Fatal编程技术网

';TypeError:uuu init_uuuuuuuuu()为参数';获取了多个值;使用super()函数使用Python 3

';TypeError:uuu init_uuuuuuuuu()为参数';获取了多个值;使用super()函数使用Python 3,python,python-3.x,oop,super,Python,Python 3.x,Oop,Super,我正在用Python 3编写一个带有继承的OOP程序,在尝试初始化子类时遇到了标题错误,如下所示: class Parent: def __init__(self, var1, var2): self.var1 = var1 self.var2 = var2 #more methods that to some stuff class Child(Parent): a = 1 #a and b are class attributes

我正在用Python 3编写一个带有继承的OOP程序,在尝试初始化子类时遇到了标题错误,如下所示:

class Parent:
    def __init__(self, var1, var2):
        self.var1 = var1
        self.var2 = var2

    #more methods that to some stuff

class Child(Parent):
    a = 1 #a and b are class attributes
    b = 2

    def __init__(self, var1 = 1, var2 = 2, var3 = None):
        super().__init__(self, var1 = 1, var2 = 2) #error shows up for this line
        self.var3 = var3

child_obj = Child(var3 = 3)

当我创建一个
子对象时,我得到一个错误,错误是:
TypeError:\uuuu init\uuuu()为参数“var1”获取了多个值。
。有人知道这里可能出了什么问题吗?提前谢谢。

请检查您的代码,它是错误的。 你想要这样的东西吗

class Parent:
    def __init__(self, var1, var2):
        self.var1 = var1
        self.var2 = var2
        print(var2)

    #more methods that to some stuff

class Child(Parent):
    a = 1 #a and b are class attributes
    b = 2

    def __init__(self, var1 = 1, var2 = 2, var3 = None):
        super().__init__(var1 = 1, var2 = 2) 
        self.var3 = var3

child_obj = Child(var3 = 3)

是的,很抱歉,我在下面提到了我试图创建子对象的代码,然后我得到了错误,因此上述代码满足您的要求?请检查我的帖子,我编辑了代码以更好地反映我想要的内容请检查您的代码。在类中,您传递的参数是错误的。类Parent(self,var1=1,var2=2):在super中传递self,这不是必需的。super()。\uuuu init\uuuuu(self,var1=1,var2=2)您不应该传递self。super()。\uuuu init\uuuuu(self)该代码与我的代码相同。。。它仍然不起作用。我在这里输入类定义时犯了一个错误,这不是我在代码中使用它的方式,所以这不是问题所在。在调用supersinit-
\uuuuu init\uuuuu(self,var1,var2)时去掉
=1