gpt4 book ai didi

python - 什么更有效率?类定义中的字典还是函数定义中的字典?

转载 作者:太空宇宙 更新时间:2023-11-04 08:19:24 26 4
gpt4 key购买 nike

我有一些对象将始终存储在内存中,并且会有数千个实例,因此有效地使用内存很重要。

这个对象将使用一些像这样的字典:

{
'text':doSomething,
'string':doAnotherThing,
'int':doSomethingCrazy
}

当然我可以把它放在类之外,在模块级别,所以它肯定只会在内存中存储一​​次,但我更喜欢把东西放在一起,所以如果它只在那个类中使用它看起来如果将其保存在类里面会更好。

问题是,如果我把dict放到类定义中,它是否只在内存中存储一​​次?

class MyClass(object):
thatDict={}

或者如果我把它放在函数定义中,它会只在内存中存储一​​次吗?

class MyClass(object):
def someFunc():
thatDict={}

最佳答案

如果将它放在一个函数中,则每次调用该函数时都会重新创建字典。这有点浪费,尤其是字典很大:

class MyClass(object):
def someFunc():
thatDict={} # recreated every function call

如果将它放在类定义中,它只会创建一次:加载模块时。

class MyClass(object):
thatDict={} # Only one copy

您也可以在文件范围内创建它,效果相同:

thatDict={} # Only one copy
class MyClass(object):
...

关于python - 什么更有效率?类定义中的字典还是函数定义中的字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8229423/

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