__slots__限制class的属性
__slots__定义的属性仅对当前类实例起作用,对继承的子类是不起作用的
代码示例
# -*- coding: utf-8 -*- # @File : slots_demo.py # @Date : 2018-05-29 class Dog(object): def __init__(self, name): self.name = name class Cat(object): __slots__ = ["name"] def __init__(self, name): self.name = name if __name__ == '__main__': d = Dog("dog") d.age = 23 print(d.age) # 23 c = Cat("cat") c.age = 24 # AttributeError: 'Cat' object has no attribute 'age'