Python继承子类引发错误


class student():
def __init__(self,fname,lname):
self.name = fname
self.lastname = lname
def printthis(self):
print(self.name,self.lastname)

class person(student):
def __init__(self,fname,lname,age):
student. __init__ (fname, lname)
self.umar = age
def wlcm(self):
print(self.name,self.lastname,self.umar)
e = student("HARJOT", "GILL", 20)
e.wlcm()

谁能解释一下我在这里做错了什么,它给了我一个错误(TypeError:学生。init()接受3个位置参数,但给出了4个)我想不出来。子类正在引发问题。

你在找这样的东西吗?

当你想使用父类的init初始化子类时,你应该打电话给->超级()。init(params)

class student:
def __init__(self, fname, lname):
self.name = fname
self.lastname = lname
def pprint(self):
print(self.name, self.lastname)
class person(student):
def __init__(self, fname, lname, age):
super().__init__(fname, lname)
self.umar = age
def pprint(self):
print(self.name, self.lastname, self.umar)
s = person('c', 'mor', 27)
s.pprint()

最新更新