python如何使用 __slots__ 来减少内存开支
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍了python如何使用 __slots__ 来减少内存开支,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用 __sl
千家信息网最后更新 2026年10月31日python如何使用 __slots__ 来减少内存开支
这篇文章主要介绍了python如何使用 __slots__ 来减少内存开支,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
使用 __slots__ 来减少内存开支
你是否注意到你的 Python 应用占用许多资源特别是内存?有一个技巧是使用 __slots__ 类变量来在一定程度上减少内存开支。
import sysclassFileSystem(object):def __init__(self,files,folders,devices):self.files= filesself.folders= foldersself.devices= devicesprint(sys.getsizeof(FileSystem))classFileSystem1(object):__slots__= ['files','folders','devices']def __init__(self,files,folders,devices):self.files= filesself.folders= foldersself.devices= devicesprint(sys.getsizeof(FileSystem1))#In Python 3.5#1-> 1016#2-> 888
很明显,你可以从结果中看到确实有内存使用上的节省,但是你只应该在一个类的内存开销不必要得大时才使用 __slots__。只在对应用进行性能分析后才使用它,不然地话,你只是使得代码难以改变而没有真正的益处。
【译者注:在我的 win10 python2.7 中上面的结果是:
#In Python 2.7 win10#1-> 896#2-> 1016
所以,这种比较方式是不那么让人信服的,使用 __slots__ 主要是用以限定对象的属性信息,另外,当生成对象很多时花销可能会小一些,具体可以参见 python 官方文档:
The slots declaration takes a sequence of instance variables and reserves just enough space in each instance to hold a value for each variable. Space is saved because dict is not created for each instance. 】
感谢你能够认真阅读完这篇文章,希望小编分享的"python如何使用 __slots__ 来减少内存开支"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
内存
篇文章
对象
结果
应用
明显
代码
价值
信息
兴趣
变量
只是
同时
官方
属性
开销
性能
性能分析
技巧
文档
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网黑科技
互联网科技海报
工业互联网科技新基建
亿策互联网科技
鑫亿盛互联网科技
未来的互联网科技
银优互联网科技有限公司
互联网科技logo
上海万想互联网科技
互联网前沿科技
隆华科技工业互联网
互联网公司科技股
链环科技传统企业怎么转型互联网
中国科技创新与世界互联网大会
互联网企业科技类企业如何做账
云南省自由互联网科技有限公司
互联网科技股为什么大涨
福州德业互联网科技
山东亿川互联网科技有限责任公司
互联网科技快速发展优美句子
咖啡豆
互联网科技公司排名
科技互联网技术
奇酷互联网科技公司
广西互联网科技公司
开启互联网科技时代小说
宝灵互联网科技有限公司
半导体行业属于互联网高科技类吗
广州燕处互联网科技有限公司
数字科技和互联网金融哪个好