python3之类的 __slots__ 属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3之类的 __slots__ 属性相关的知识,希望对你有一定的参考价值。
1. 作用
1. 限定一个类创建的实例只能有固定的实例属性(实例变量),不允许对象添加列表以外的实例属性
2. 防止用户因错写属性名称而发生程序错误
2. 说明
1. __slots__ 属性是一个列表,列表的值是字符串
2. 含有__slots__属性的类所创建的实例对象没有__dict__属性,即此实例不用字典来存储属性
例如:
class Students:
__slots__ = ["name","age","score"]
def __init__(self,n,a,s):
self.name,self.age,self.score= n,a,s
s1 = Students("calabash","23","90")
s1.speed = "30" # 添加一个其他的属性,会报错告诉你对象没有这个属性,必须添加列表内的属性
以上是关于python3之类的 __slots__ 属性的主要内容,如果未能解决你的问题,请参考以下文章