Zählervariable für Klasse
Ich habe Probleme, diesen Code zum Laufen zu bringen. Die Klasse ist Student mit einem IdCounter, und hier scheint das Problem zu liegen. (in Zeile 8)
<code>class Student: idCounter = 0 def __init__(self): self.gpa = 0 self.record = {} # Each time I create a new student, the idCounter increment idCounter += 1 self.name = 'Student {0}'.format(Student.idCounter) classRoster = [] # List of students for number in range(25): newStudent = Student() classRoster.append(newStudent) print(newStudent.name) </code>
Ich versuche, diesen IDCounter in meinem zu habenStudent
Klasse, so kann ich es als Teil des Schülernamens haben (was zum Beispiel wirklich eine ID # istStudent 12345
. Aber ich habe Fehler bekommen.
<code>Traceback (most recent call last): File "/Users/yanwchan/Documents/test.py", line 13, in <module> newStudent = Student() File "/Users/yanwchan/Documents/test.py", line 8, in __init__ idCounter += 1 UnboundLocalError: local variable 'idCounter' referenced before assignment </code>
Ich habe versucht, den idCounter + = 1 vor, nach und nach zu kombinieren, aber ich bekomme immer noch denreferenced before assignment
Fehler, kannst du mir erklären, was ich falsch mache?