';TypeError:uuu init_uuuuuuuuu()为参数';获取了多个值;使用super()函数使用Python 3
我正在用Python 3编写一个带有继承的OOP程序,在尝试初始化子类时遇到了标题错误,如下所示:';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
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