添加到python类的东西

时间:2015-12-29 23:15:00

标签: python class

我需要找到一种向p2类添加数字的方法,但每次尝试时都会出错。这是代码:

SchoolMember

我甚至在底部添加了数字,但程序一直告诉我它没有道具或其他东西。

我非常感谢帮助,因为我对python类的知识非常低,谢谢!!

错误

class SchoolMember:
    # Represents any school member.
    def __init__(self, name, age, number):
        self.name = name
        self.age = age
        self.number= number
        print ('(Initialized SchoolMember: {})'.format(self.name))
    def tell(self):
        '''Tell my details.'''
        print ('Name:"{}" Age:"{}" Number:"{}"'.format(self.name, self.age,self.number),)

class Teacher(SchoolMember):
    # Represents a teacher.
    def __init__(self, name, age, salary,number):
        SchoolMember.__init__(self, name, age)
        self.salary = salary
        print ('(Initialized Teacher: {})'.format(self.name))
    def tell(self):
        SchoolMember.tell(self)
        print ('Salary: "{:d}"'.format(self.salary))

class Student(SchoolMember):
    # Represents a student.
    def __init__(self, name, age, marks,number):
        SchoolMember.__init__(self, name, age)
        self.marks = marks
        print ('(Initialized Student: {})'.format(self.name))
    def tell(self):
        SchoolMember.tell(self)
        print ('Marks: "{:d}"'.format(self.marks))
t = Teacher('Mr. Smith', 32, 50000, 9056789056)
s = Student('Jagroop', 15, 82, 9056761212)
# prints a blank line
print()
members = [t, s]
for member in members:
    # Works for both Teachers and Students
    member.tell()

2 个答案:

答案 0 :(得分:3)

问题在于:

SchoolMember.__init__(self, name, age)

将其更改为:

SchoolMember.__init__(self, name, age, number)

答案 1 :(得分:-1)

Google popup

您遇到的错误是因为您没有将您对父类实例化的调用更新为:

class SchoolMember:
    #Represents any school member.
    def __init__(self, name, age, number):
        self.name = name
        self.age = age
        self.number= number
        print ('(Initialized SchoolMember: {})'.format(self.name))
    def tell(self):
        '''Tell my details.'''
        print ('Name:"{}" Age:"{}" Number:"{}"'.format(self.name, self.age,self.number),)

class Teacher(SchoolMember):
    #Represents a teacher.
    def __init__(self, name, age, salary, number):
        SchoolMember.__init__(self, name, age, number)
        self.salary = salary
        print ('(Initialized Teacher: {})'.format(self.name))
    def tell(self):
        SchoolMember.tell(self)
        print ('Salary: "{:d}"'.format(self.salary))

class Student(SchoolMember):
    #Represents a student.
    def __init__(self, name, age, marks, number):
        SchoolMember.__init__(self, name, age, number)
        self.marks = marks
        print ('(Initialized Student: {})'.format(self.name))
    def tell(self):
        SchoolMember.tell(self)
        print ('Marks: "{:d}"'.format(self.marks))

t = Teacher('Mr. Smith', 32, 50000, 9056789056)
s = Student('Jagroop', 15, 82, 9056761212)
# prints a blank line
print()
members = [t, s]
for member in members:
    # Works for both Teachers and Students
    member.tell()

在学生和教师课程中。