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