Tough für mich, einen guten Titel für dieses Problem zu finden. Bitte beachten Sie den Code.So ordnen Sie zwei untergeordnete Objekte in Python zu
class School:
def __init__(self, info):
self.name = info['name']
self.student = info['students']
for x in self.student:
self.child[self.student[0]] = Child(x, self.student[x])
self.student[x] = Student(x, self.student[x])
class Student:
def __init__(self, student_info, student_id):
self.id = student_id
self.name = student_info[0]
self.age = student_info[1]
self.sex = student_info[2]
self.attendance = False
class Child(Student)
def __init__(self, student_info, student_id):
self.id = student_info[0]
self.student_id = student_id
schools = {1:{'name':'Hard Knocks', 'students':{1:['Tim',12,M], 2:['Kim',11,M]}}}
Ziemlich viel möchte ich der Student Parameter ‚Besuch‘ in der Lage den Zugang sein, sowohl die Schüler und Kinder Objekt innerhalb der Instanz Schule verwenden.
#instantiating
for x in students:
schools[x] = School(schools[x])
schools[1].student[1].attendance = True
print schools[1].child['Tim'].attendance
Ich mag die letzte Zeile wahr zu drucken, da ich Schulen festgelegt [1] .student [1] .attendance, aber sein Druck Falsch. Wie ordne ich es so, wenn ich das Kind ['Tim'] Objekt einstelle, ist es dasselbe wie das Setzen des Schüler [1] Objekts. Schüler [1] und Kind ['Tim'] sollten demselben Parameter des Schülerobjekts zugeordnet werden.
Ist das überhaupt möglich?
Auch auf der Klassenhierarchie von der Frage, könnte man einfach ein 'child' Objekt instanziiert und es von beiden Kindern und Schülern Arrays verweisen, wie jedes' Child' Objekt ist auch ein Student. –
super() .__ init __ (Schüler_Info, Student_ID) löst 'TypeError: super() benötigt mindestens 1 Argument (0 gegeben)' –
Ich habe versucht Super (Kind, selbst) .__ Init __ (Student_info, Student_ID) und Student (Objekt), Super zu benutzen scheint nicht zu funktionieren. –