__slots__属性

使用__slots__时,子类不受影响
class Person(object):
    __slots__ =  ("name","age")
    def __str__(self):
        return "姓名:%s,年龄:%d"%(self.name,self.age)
p = Person()
class man(Person):
    pass
m = man()
m.score = 78
print(m.score)

使用__slots__限制类添加的属性
class Person(object):
    __slots__ =  ("name","age")
    def __str__(self):
        return "姓名:%s,年龄:%d"%(self.name,self.age)
p = Person()
p.name  = "Xiaoming"
p.age = 15
print(p)
try:
    p.score = 78
except AttributeError :
    print(AttributeError)

2020-05-08

原文地址:https://www.cnblogs.com/hany-postq473111315/p/12846904.html