博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python的高级特性6:使用__slots__真的能省很多内存
阅读量:6320 次
发布时间:2019-06-22

本文共 548 字,大约阅读时间需要 1 分钟。

在伯乐在线上看到了这篇文章,,于是想测试下,对单个类,用__slots__节省内存效果会不会明显。

看完这个例子后,我们也会明白__slots__是用来干嘛的。

:import sys:class test(object)::    def __init__(self,name)::        self.name = name:        ::class test2(object)::    __slots__ = ["name"]:    def __init__(self,name)::        self.name = name::a = test('alex'):b = test2('lilei'):--In [36]: print(sys.getsizeof(a))64In [37]: print(sys.getsizeof(b))56In [38]: 64-56Out[38]: 8In [40]: 8.0/64Out[40]: 0.125

上述代码可以看到,python为对象a分配了64 Byte的内存,而为对象b分配了56 Byte的内存,总共节省了8 Byte,也就是节省了12.5%的内存空间。

综上:__slots__就是一个节省内存开销的内建方法。

 

转载地址:http://hgdaa.baihongyu.com/

你可能感兴趣的文章
PHP中使用cURL实现Get和Post请求的方法
查看>>
ASP.NET MVC是如何运行的[2]: URL路由
查看>>
30款顶级CSS工具及应用-CSDN.NET
查看>>
自定义安装Apache+php+mysql网站服务器环境
查看>>
JAVA nio 2 定义 Path 类
查看>>
ubuntu12.04 安装配置jdk1.7
查看>>
修改tomcat服务器默认端口号
查看>>
bootstrap-datetimepicker 进一步跟进~~~开始时间和结束时间的样式显示
查看>>
idea创建maven-archetype-webapp项目无java目录
查看>>
《 Oracle查询优化改写 技巧与案例 》电子工业出版社
查看>>
关系型数据库种类
查看>>
ajax回调函数中使用$(this)取不到对象的解决方法
查看>>
java实现折半排序算法
查看>>
1024程序员节,向改变世界的程序员致敬
查看>>
还在呼吸致命空气?专业的斐讯空气检测仪,让你生活更健康!
查看>>
每月亿行代码、全球数万研发,落地DevOps的协同平台DevCloud
查看>>
一朝创业,十年奋战,和信VENGD 4.0让终端不再是难题!
查看>>
蚂蚁金服董事长说以后出国只要三句话:你好,谢谢,支付宝
查看>>
GO语言用户调查:更多程序员选择在工作中使用该语言!
查看>>
Apache RocketMQ 顶级项目之路
查看>>