#__slots__的用法:限制类的属性
class Student(object):
#slots限制Student类中只能有name和age两个属性
__slots__ = ('name','age')
#小学生类继承学生类
class Pupil(Student):
__slots__ = ('score','gender')
pass
s1 = Student()
#给s1实例动态绑定允许的属性
s1.name = 'Bob'
s1.age = 25
#给s1实例动态绑定被限制的属性,绑定失败
#s1.score = 90
p1 = Pupil()
#小学生类中允许的属性=父类定义的属性+自身定义的属性
p1.name = 'lucy'
p1.age = 10
p1.score = 95
p1.gender = 'female'
#绑定被限制的属性,绑定失败
#p1.grade = 'grade one'
Sign in to make a reply
用户6786697361_46373
#__slots__的用法:限制类的属性
class Student(object):
#slots限制Student类中只能有name和age两个属性
__slots__ = ('name','age')
#小学生类继承学生类
class Pupil(Student):
__slots__ = ('score','gender')
pass
s1 = Student()
#给s1实例动态绑定允许的属性
s1.name = 'Bob'
s1.age = 25
#给s1实例动态绑定被限制的属性,绑定失败
#s1.score = 90
p1 = Pupil()
#小学生类中允许的属性=父类定义的属性+自身定义的属性
p1.name = 'lucy'
p1.age = 10
p1.score = 95
p1.gender = 'female'
#绑定被限制的属性,绑定失败
#p1.grade = 'grade one'