为什么说super()至少需要1个参数

2024-09-30 10:35:31 发布

您现在位置:Python中文网/ 问答频道 /正文

    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()

我基本上是复制粘贴代码。我用的是pycharm。我仍然不知道如何使用代码块。我不知道该怎么办。你知道吗

抱歉,如果我惹了麻烦。你知道吗

我用python编写了一个代码,其中一个类继承另一个类的属性。当我运行代码时,第26行出现错误,表示super()至少接受一个参数。我是不是搞错了。The codethe traceback

我想看看新成员的输出,其中包括成员姓名,身份证,订阅支付和加入日期。但显示错误。你知道吗


Tags: 代码selfinitdefclassmemberprintmemberid
1条回答
网友
1楼 · 发布于 2024-09-30 10:35:31

更新了我的帖子以反映您发布的代码:

  1. 你说你在使用PyCharm。注意截面下的红色曲线,因为它们指出了错误。你知道吗

第一个错误:def和init之间没有空格

def__init__(self, MemberName, MemberID, SubcribtionPaid):

第二个错误:在类函数调用中发现: 您不必调用本质上就是(self)在做什么的类

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()

一些建议,当学习编写和调试您自己的代码时,获取一些运行的代码然后破坏它并不是一件坏事。这听起来很奇怪,但这样做可以让您学会在编辑器和运行时识别错误。快乐的编码!你知道吗

相关问题 更多 >

    热门问题