码迷,mamicode.com
首页 > 编程语言 > 详细

python3之类的 __slots__ 属性

时间:2018-07-06 19:36:00      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:weight   程序   self   dict   cal   防止   不用   col   round   

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__ 属性

标签:weight   程序   self   dict   cal   防止   不用   col   round   

原文地址:http://blog.51cto.com/calabash/2137331

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!