Python 我正在构建的模块中需要几个字典数据结构。我应该在本地还是在全球范围内定义它们?
我想建立这个模块是尽可能多的内存效率。并非模块中的所有函数都需要这些字典Python 我正在构建的模块中需要几个字典数据结构。我应该在本地还是在全球范围内定义它们?,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,我想建立这个模块是尽可能多的内存效率。并非模块中的所有函数都需要这些字典 每个字典最多可以保存几十个值。假设您在整个过程中需要字典,而不仅仅是在一个函数范围内。您可以选择这样的单例设计模式: somemodule.py 只有在您需要时才会实例化它,而且bonus始终使用相同的dict 用法如下: from somemodule import example_dict def some_method(): # ... code ... my_dict = example_dict
每个字典最多可以保存几十个值。假设您在整个过程中需要字典,而不仅仅是在一个函数范围内。您可以选择这样的单例设计模式: somemodule.py 只有在您需要时才会实例化它,而且bonus始终使用相同的dict 用法如下:
from somemodule import example_dict
def some_method():
# ... code ...
my_dict = example_dict()
# ... more code ...
脚本运行时是否总是需要字典?这是我的一些脚本需要的模块。当我需要从这个模块中导出一个函数时,我将只从这个模块中导入它。在这种情况下,如果我在模块中全局定义了这些字典,以便所有函数都可以使用它,而不是本地使用函数中需要它的每个字典,会发生什么情况?在我的例子中,我首先将每个字典限制为它们在模块中需要的函数。然后我意识到有些词典可能在几个功能中需要不止一次。这就是为什么我把他们的定义移到了全局定义之外。在这种情况下,您认为您的实现将提高我的代码的效率吗?它将节省空间是的。当你确定你已经完成了一个dict时,你甚至可以使用del。为什么你要用两个下划线符号来编写示例字典?为了拥有多个字典,我可以在somemodule.py中添加多个字典方法吗?如何调试可能实现的效率?我想看看每个内存的使用情况
from somemodule import example_dict
def some_method():
# ... code ...
my_dict = example_dict()
# ... more code ...