这是以下帖子的后续问题(不需要检查链接即可理解问题)
我们将idCounter
Student 类设置为类变量,并计算创建的实例数。
这是班级:
class Student:
# A student ID counter
idCounter = 0
def __init__(self):
self.gpa = 0
self.record = {}
# Each time I create a new student, the idCounter increment
Student.idCounter += 1
self.name = 'Student {0}'.format(Student.idCounter)
Run Code Online (Sandbox Code Playgroud)
现在,我们实例化一些实例,然后检查 的值idCounter
:
student1 = Student()
student2 = Student()
student3 = Student()
student4 = Student()
Student.idCounter
4
Run Code Online (Sandbox Code Playgroud)
但是,如果您可以这样做,那么维护计数器就变得毫无意义:
Student.idCounter = 2000
Run Code Online (Sandbox Code Playgroud)
现在创建新实例:
student5 = Student()
Run Code Online (Sandbox Code Playgroud)
并检查idCounter
:
Student.idCounter
2001
Run Code Online (Sandbox Code Playgroud)
idCounter
可以简单地搞砸计数器而无需运行__init__
。
如何创建一个仅在__init__ …