0
点赞
收藏
分享

微信扫一扫

花点时间把python入门<三十九>——限制实例的属性

1.使用_slots_
限制实例的属性,只允许对stu类添加name和age属性
方法:

class stu(object):
    __slots__=('name','age')
s=stu()
s.name='小沈'
s.age=19
print(s.name)
print(s.age)
s.score=99
小沈
19
#s.score会报错,因为score没有放在_slots_中

注:_slots_定义的只能对当前类的实例起作用,对继承的子类不起作用

class stu(object):
    __slots__=('name','age')
    #继承的子类
class grade(stu):
    pass

s=stu()
s.name='小沈'
s.age=19
# s.score=99
print(s.name)
print(s.age)
#print(s.score)

g=grade()
g.score=99
print(g.score)

结果

小沈
19
99

要想继续限制就需要再在子类也加入限制

举报

相关推荐

0 条评论