python如何使用 __slots__ 来减少内存开支
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章主要介绍了python如何使用 __slots__ 来减少内存开支,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用 __sl
千家信息网最后更新 2025年12月01日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安全错误
数据库的锁怎样保障安全
mysql 数据库 结构
云计算网络技术系列博客
智能软件开发专业大学排名
mc联机看不到服务器
oracle 数据库很慢
12123数据库占用
绝地求生哪些服务器
为什么别人访问不了我的数据库
网络安全工作责任制全文
校园网络安全宣传周2020
阿里云服务器的防火墙如何设置
徐州常用网络技术电话
浏览器网络安全
数据库系统核心的英文单词缩写
北京服务器公司云服务器
网络安全股迪普科技与360
关于部队网络安全文章题目
蛋白数据库名字
小学网络安全教育主题班会记录表
怎么连接dm数据库
数据库技术外延
数据库什么是属性冲突
如果网络安全实名制
网络技术ipv6
github数据库北极
软件开发分包模式
汽车发动机软件开发
区域授权服务器
网络技术考试软件如何将拷出来
东方瑞庭网络技术