欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python__基础 : 类的 __slots__ 方法

程序员文章站 2022-06-30 15:30:20
实例在创建出来之后,可以动态的添加属性和方法, 那如果想要限制添加的实例属性,可以用一下 __slots__ 这个东西: 在添加 name, age 的时候都没有问题 ,在添加 addr 的时候,会限制添加,就算在 __init__ 里面添加也不行. 需要注意的是,对继承这个父类的子类没有任何作用. ......

实例在创建出来之后,可以动态的添加属性和方法, 那如果想要限制添加的实例属性,可以用一下 __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__ 里面添加也不行.

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