python__基础 : 类的 __slots__ 方法

实例在创建出来之后,可以动态的添加属性和方法, 那如果想要限制添加的实例属性,可以用一下 __slots__ 这个东西:

class Test(object):
    __slots__ = ('name', 'age')  # 用元组保存

t = Test()

t.name = 'tt'
t.age = 18
t.addr = 'shanghai'

>>>t.addr = 'shanghai'
   AttributeError: 'Test' object has no attribute 'addr'

在添加 name, age 的时候都没有问题 ,在添加 addr 的时候,会限制添加,就算在 __init__ 里面添加也不行.

需要注意的是,对继承这个父类的子类没有任何作用.

posted @ 2018-05-19 13:47  cccy0  阅读(204)  评论(0编辑  收藏  举报