python如何使用 __slots__ 来减少内存开支
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍了python如何使用 __slots__ 来减少内存开支,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用 __sl
千家信息网最后更新 2025年02月02日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安全错误
数据库的锁怎样保障安全
在线教育数据库表设计
数据库经历几个阶段
怀旧服狮心服务器如何
万方数据库 官网
2018年网络安全宣传内容
网络安全是一盘大棋申论
秋日森林服务器武器价格
阴阳师链接服务器失败
网络安全教育专题班会
我的世界服务器ice跑酷
美国时间同步服务器
低年级网络安全教育课件
华三服务器f10做raid
网络安全预警中心
苹果app服务器部署
有没有互联网科技信息公众号
阿里云时间同步服务器
深圳市咪咕网络技术有限公司
王者服务器错误程序终止运行
摩尔数据库
扩展网络技术教什么
黑夜网络技术
北京云服务器
职称论文检索三大数据库是
服务器怎么架设网站
有网络但是微信登录不了服务器
常用数据库可以分为
深圳信锐网络技术公司怎么样
黄埔软件开发哪家信誉好
山西ios软件开发免费咨询