gpt4 book ai didi

python - 如何在类中使用变量来提高内存效率?

转载 作者:行者123 更新时间:2023-12-01 04:57:03 25 4
gpt4 key购买 nike

举个例子,假设我有一个这样的类:

def class Foo(object):
def __init__(self,x):
self.x = x
def lookup(self):
return dict[x]

lookup 函数的目的是在字典中查找 x 并返回值。假设这个字典非常大。我想知道是否在类中声明字典,或者是否将字典声明为全局变量。

我担心内存效率:字典将是恒定的,我希望它不要占用比所需更多的内存。因此,我问的是类如何使用内存。如果我声明例如50,000 个 Foo 实例,并且我在 Foo 中声明了字典,这是否意味着我生成了 50,000 个 Foo 副本?然而,如果我将 dict 引用为全局变量,我不会生成任何额外的副本?

如何制作尽可能少的字典副本?理想情况下,该程序只有一个。

最佳答案

在这种情况下,您应该将 dict 作为全局变量。内部变量的想法是您可以独立地更改和使用它们而不会发生冲突。这就是为什么 Foo 的每个实例都有它自己的 dict 副本。 (实际上名为 self.dict - 就像您应该将 self.x 作为使用对象内部变量的 lookup 函数中的参数一样。)全局变量既可以节省内存,又可以防止程序中存在不同版本的 dict 的可能性。

关于python - 如何在类中使用变量来提高内存效率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27164000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com