python - 使用大量内存将类定义为枚举

标签 python memory enums class-variables

我在一个文件中有数百个具有许多属性的类。我想让用户知道特定类有哪些不同的属性。我的主要目标是支持自动完成,否则用户很难知道不同类中存在哪些属性。

我有文件 constant.py,它的类为

class abc:
  AA = "aa"
  BB = "bb"
  CC = "cc"

class def:
 DD ="dd"
 EE = "ee"
 FF = "ff"

类似地,我们有数百个具有数百个属性的类。 这样做是为了让用户可以将其用作 abc.AA 、 def.DD 但这种方法会消耗大量内存。 文件大约 11MB,但是当我导入时,即导入常量,它消耗大约 50MB 内存。

有没有更好的方法来最小化内存消耗?

最佳答案

这听起来不像是对类的良好使用。 collections.namedtuple 可能是更好、更高效的选择。

减少类版本所需内存的一种方法是使用 __slots__ .

class ABC:
    __slots__=('aa', 'bb', 'cc)

关于python - 使用大量内存将类定义为枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23603084/

相关文章:

java - 哪些语言可以很好地替代 Java?

c - Valgrind: "Conditional jump or move depends on uninitialised value(s)"

java - hibernate 5.2 : how to map set of enums by name using hbm file

powershell - 从模块中导出 Powershell 5 枚举声明

Python连接到000webhost Web服务器MySQL数据库

python - 如何估计密度函数并计算其峰值?

python - 获取昨天的日期和时区

c++ - 创建新对象时使用 `new classObject` 和 `&classObject` 有什么区别?

swift - 字符串消耗大量内存

c# - 存储可以循环编辑的列表?