gpt4 book ai didi

Python 2.7 __init__() 恰好接受 2 个参数(给定 3 个)

转载 作者:太空宇宙 更新时间:2023-11-04 10:31:09 25 4
gpt4 key购买 nike

我有这些类(class)。Person 是父类,Student 是子类:

class Person(object):
def __init__(self, name):
self.name = name

class Student(Person):
def __init__(self, avr, name):
self.avr = avr
super(Student, self).__init__(self, name)

当我尝试创建 Student 的实例时出现此错误:

__init__() takes exactly 2 arguments (3 given)

我的代码有什么问题?

最佳答案

如果您使用的是 super,则不会将 self 传递给目标方法。它是隐式传递的。

super(Student, self).__init__(name)

总共有 2 个参数 (self, name)。当您传递 self 时,总共有 3 个(self、self、name)。

关于Python 2.7 __init__() 恰好接受 2 个参数(给定 3 个),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26437426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com