Discuss / Python / 交作业

交作业

Topic source

#__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'


  • 1

Reply