__slots__限制只有定义的这些属性才可以动态添加,只限制当前类,对子类没有影响。并且以元组的方式定义能给对象添加的属性,除此之外的属性不能添加,对动态添加属性做出一些限制
小例子说明:
class People(object):
__slots__ = ('name','age','phone')
def __init__(self,weight):
super(People, self).__init__()
#执行到这里将出错。因为__solts__声明的元组里这个属性
self.weight=weight
p1=People(80)
#动态添加属性
# p1.name='张三'
# p1.age=22