Python 为什么说super()至少接受1个参数
我基本上是复制粘贴代码。我使用了pycharm。我仍然不知道如何使用代码块。我不知道该怎么办 如果我造成了问题,我很抱歉 我用python编写了一段代码,其中一个类继承了另一个类的属性。当我运行代码时,第26行出现错误,表示super()至少接受1个参数。我在那里犯了错误吗Python 为什么说super()至少接受1个参数,python,inheritance,Python,Inheritance,我基本上是复制粘贴代码。我使用了pycharm。我仍然不知道如何使用代码块。我不知道该怎么办 如果我造成了问题,我很抱歉 我用python编写了一段代码,其中一个类继承了另一个类的属性。当我运行代码时,第26行出现错误,表示super()至少接受1个参数。我在那里犯了错误吗 我想查看新成员的输出,包括成员名称、id、已支付的订阅和加入日期。但显示了错误 更新了我的帖子以反映您发布的代码: 你说你在使用PyCharm。注意章节下方的红色曲线,因为它们指出了错误 第一个错误:def和init之间没有
我想查看新成员的输出,包括成员名称、id、已支付的订阅和加入日期。但显示了错误 更新了我的帖子以反映您发布的代码:
class Member():
def __init__(self, MemberName, MemberID, SubcribtionPaid):
self.__MemberName = MemberName
self.__MemberID = MemberID
self.__SubcribtionPaid = False
def SetMemberName(self):
print(MemberName,self.__MemberName)
def SetMemberID (self):
print(MemberID,self.__MemberID)
def SetSubcriptionPaid(self):
print(SubcribtionPaid,self.__SubcribtionPaid)
class Jmember(Member):
def__init__(self,MemberName,MemberID,SubcribtionPaid,DateofJoining):
super().__init__(MemberName,MemberID,SubcribtionPaid)
self.__DateofJoining = DateofJoining
def SetDateofBirth(self):
print(DateofBirth,self.__DateofJoining)
NewMember = Jmember("Armeen","1245","True","12/3/2015")
NewMember.SetMemberName()
NewMember.SetMemberID()
NewMember.SetSubcriptionPaid()
NewMember.SetDateofJoining()
第二个错误:在类函数调用中发现:
您不必调用本质上就是(self)所做的类
第三个错误:在回溯中发现
您试图调用一个忘记创建的函数
def SetMemberName(self):
print(MemberName,self.__MemberName)
一些建议,当学习编写和调试自己的代码时,获取一些运行的代码并将其破坏并不是一件坏事。这听起来很奇怪,但在这样做的过程中,您将学会在编辑器和运行时识别错误。快乐编码 与其链接到图像,不如在代码块中发布您的代码片段,以便人们可以复制/粘贴它,以便在需要时使用代码。您可以对回溯执行相同的操作,以便它在您的帖子中更好地显示。在代码前后使用3个反勾号来使用代码块。另外,发布完整的回溯。实际错误可能发生在报告行之前。您链接到的第24行上没有代码。您是否指向正确的代码?回溯是tbm为您编辑成代码块的错误消息堆栈。但是您需要包含完整的错误消息。Codeblock是一种格式化代码的方法,以便它在您的帖子中很好地显示。在要格式化的代码段前后添加3个反勾号(在tab键上方)。
def SetMemberName(self):
print(MemberName,self.__MemberName)
Traceback (most recent call last):
File "/Users/sumbody/Projects/Python/MemberTest2/main.py", line 29, in <module>
NewMember.SetDateofJoining()
AttributeError: 'Jmember' object has no attribute 'SetDateofJoining'
class Member():
def __init__(self, MemberName, MemberID, SubcribtionPaid):
self.__MemberName = MemberName
self.__MemberID = MemberID
self.__SubcribtionPaid = False
def SetMemberName(self):
print(self.__MemberName)
def SetMemberID (self):
print(self.__MemberID)
def SetSubcriptionPaid(self):
print(self.__SubcribtionPaid)
class Jmember(Member):
def __init__(self,MemberName,MemberID,SubcribtionPaid,DateofJoining):
super().__init__(MemberName,MemberID,SubcribtionPaid)
self.__DateofJoining = DateofJoining
def SetDateofBirth(self):
print(self.__DateofJoining)
def SetDateofJoining(self):
print(self.__DateofJoining)
NewMember = Jmember("Armeen","1245","True","12/3/2015")
NewMember.SetMemberName()
NewMember.SetMemberID()
NewMember.SetSubcriptionPaid()
NewMember.SetDateofJoining()