python - Python - 如何在不使用太多内存的情况下存储许多类?
问题描述
假设我有一个类来存储一些不同类型的值,并且我得到了很多这些类。如何在不占用太多内存的情况下整齐地存储它们?或者有没有办法不使用这个愚蠢的课程?
class item:
id = int()
time = float()
flag = int()
description =str()
def __init__(self, id, time, flag, description):
self.id = id
self.time = time
self.flag = flag
self.description = description
dataBaseSize = 134217728
dataList = list()
for i in range(dataBaseSize):
new = item(i, 0, 0, "i")
dataList.append(new)
这样做会导致内存爆炸。那么如何在 Python 中优化呢?
解决方案
你可以使用__slots__
技巧。
内存使用量会有显着差异(40% 到 50%)。
class MyClass(object):
__slots__ = ['name', 'identifier']
def __init__(self, name, identifier):
self.name = name
self.identifier = identifier
推荐阅读
- python - 创建散点图的最简洁方法,该散点图在标识线周围具有规则间隔的色带
- python - Python pip 重建要求
- c++ - eigen:设置/返回整列的表达式或函数
- python - 如何将数据平均分成二级类别
- python - pytest 收集测试用例但不执行脚本
- android - 在 Android 11 中的两个应用之间共享数据
- mongodb - mongodump 的空输出
- javascript - 如何使用“包含”中的变量使用 jQuery 选择元素并使用类 Foo 删除最近的 el
- android - 解析实时查询事件处理延迟
- java - 如何使用 Here Maps SDK 将数据中心(POI、样式)与 Android 应用程序集成