【发布时间】:2021-07-06 15:00:21
【问题描述】:
Marks类
from Studentclass import Student
from Courseclass import Course
class Marks(Student, Course):
def __init__(self, Sid,Cid, Mark):
super().__init__(Sid,Cid)#Error line 7, in __init__ super().__init__(Sid,Cid) TypeError: __init__() missing 1 required positional argument: 'Sage'#
self.Mark = Mark
def __repr__(self):
return '({},{},{})'.format(self.Sid, self.Cid, self.Mark)
主要代码
from Studentclass import Student
from Courseclass import Course
from Marksclass import Marks
def read_populate_marks():
with open("Marks.txt", "r") as m:
marks_list = []
for line in m:
Sid, Cid, Mark = line.split(",")
marks = Marks(int(Sid), int(Cid), int(Mark))#Error line 37
marks_list.append(marks)
return marks_list
print(read_populate_marks()
我在运行这个函数时收到一个错误,告诉我传递来自我只想调用 Sid 的学生班级的 Sage。第一次使用多重继承时,相同的功能可以与其他类一起正常工作我该怎么办?
- 学生构造函数是
(Sid,Sname,Sage) - 课程构造函数是
(Cid,Cname,Cstudents)。
【问题讨论】:
-
你的设计似乎是错误的:一个标记既不是学生也不是课程,它可能包含它们作为属性,它不是
标签: python python-3.x file multiple-inheritance