Python基础篇之__slots__
来源:互联网 发布:matlab编程二分法求根 编辑:程序博客网 时间:2024/06/06 16:32
python中 __slots__
由于Python是动态语言,任何实例在运行期都可以动态地添加属性。
如果要限制添加的属性,例如,Student类只允许添加 name、gender和score 这3个属性,就可以利用Python的一个特殊的__slots__来实现。
顾名思义,__slots__是指一个类允许的属性列表:
class Student(object):
__slots__ = (‘name’, ‘gender’, ‘score’)
def __init__(self, name, gender, score):
self.name = name
self.gender = gender
self.score = score
现在,对实例进行操作:
s = Student(‘Bob’, ‘male’, 59)
s.name = ‘Tim’ # OK
s.score = 99 # OK
s.grade = ‘A’
Traceback (most recent call last):
…
AttributeError: ‘Student’ object has no attribute ‘grade’
__slots__的目的是限制当前类所能拥有的属性,如果不需要添加任意动态的属性,使用__slots__也能节省内存。
阅读全文
0 0
- Python基础篇之__slots__
- Python基础-使用__slots__
- Python之 __slots__ 的用法
- python __slots__
- python __slots__
- Python __slots__
- Python---__slots__
- python __slots__
- python学习-面向对象进阶之__slots__(五)
- python __slots__ 使用
- python的__slots__
- python使用__slots__
- python class __slots__
- python的__slots__
- python __slots__方法
- Python的__slots__
- Python的__slots__
- Python @property __slots__
- swagger注释API详细说明
- Redis持久化
- linux 创建用户时,无密码的情况
- Java 集合 LinkedList 需要知道的几个问题
- 设计模式 适配器模式 以手机充电器为例
- Python基础篇之__slots__
- ls命令+文件类型+别名(alias)
- test
- java swing实现的拼图小游戏项目源码
- 逆波兰表达式 —— 递归专题
- WPF界面控件Essential Studio for WPF发布2017 v4版本
- markdown查看本地图片(github)
- Integer和int的区别
- 怎么找到win10由于删除文件后清空回收站的文件