慕课网
slots 由于Python是动态语言,任何实例在运行期都可以动态地添加属性。
如果要限制添加的属性,例如,,Student类只允许添加 name、gender和score 这3个属性,就可以利用Python的一个特殊的slots来实现。
:__slots__ = (‘name’, ‘gender’):self.name = nameself.gender = gender:__slots__ = (‘name’, ‘gender’, ‘score’):#self.name = name#self.gender = gendersuper(Student, self).__init__(name, gender)self.score = scores = Student(‘Bob’, ‘male’, 59)s.name = ‘Tim’s.score = 99print s.score
效果只能是既费时又没有胜利,再聪慧的人也没法成学。