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

2023-11-30

我有这些课程。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 个(自我、自我、姓名)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 2.7 __init__() 仅接受 2 个参数(给定 3 个) 的相关文章

随机推荐