我在运行这段代码时遇到了问题。这个类是Student,其中有一个IdCounter,而且似乎问题就出在这里(在第8行)。
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)
我正在尝试在Student
类中使用这个idCounter,以便将其作为学生姓名的一部分(实际上是一个ID号码,例如Student 12345
)。但我一直收到错误信息。
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
我尝试将 idCounter += 1 放在 before、after、all 组合中,但仍然遇到“referenced before assignment”错误,你能解释一下我做错了什么吗?
Student.idCounter = 0
) - Georgeitertools.count
。 - bereal