python 内存优化1(给类添加__slots__属性)
2022/2/27 7:30:31
本文主要是介绍python 内存优化1(给类添加__slots__属性),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
创建大量的对象
对于主要当成简单的数据结构类而言,通过添加__slots__属性来极大的减少实例所占用的内存
eg:
class Date: __slots__ = ['year', 'month', 'day'] def __init__(self, year, month, day): self.year = year self.month = month self.day = day
原理: 定义__slots__
后,python会使用一种更加紧凑的内部表示。
实例通过一个很小的固定大小的数组来构建,而不是为每个实例定义
一个字典,这跟元组或列表很类似。在__slots__中列出得属性名在
内部被映射到这个数组的指定小标上。
缺点
不能再给实例添加新的属性,只能使用__slots中定义的属性名。
定义了slots后,类不在支持一些普通类特性, 比如多继承。
这篇关于python 内存优化1(给类添加__slots__属性)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享