Contador variable para la clase
Estoy teniendo problemas para obtener este pedazo de código para ejecutar. La clase es Estudiante que tiene un IdCounter, y es donde el problema parece estar. (en la línea 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>
Estoy tratando de tener este idCounter dentro de miStudent
clase, por lo que puedo tenerlo como parte del nombre del estudiante (que es realmente un número de identificación, por ejemplo,Student 12345
. Pero he estado recibiendo error.
<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>
Intenté poner el idCounter + = 1 en antes, después, toda combinación, pero todavía estoy recibiendo elreferenced before assignment
error, ¿puedes explicarme lo que estoy haciendo mal?