我正在构建的模块中需要几个字典数据结构。我是否应该在本地或全球范围内对它们进行定义?

问题描述 投票:0回答:1

我想构建这个模块尽可能地提高内存效率。

并非模块中的所有功能都需要这些词典。

每个字典中最多可包含几十个值。

python python-3.x dictionary
1个回答
1
投票

假设您在整个过程中需要字典(而不仅仅是在一个函数范围内)。你可以选择像这样的单例设计模式:

some module.朋友

__example_dict = None

def example_dict():
    if not __example_dict:
        __example_dict = { 
            'version': '1.0.5',
            'username': 'Jimbob',
             # more things
            'save_dir': 'path/to/dir'
        }
    return __example_dict

然后,只有当你需要它时才会实例化,奖金总是使用相同的字典。

用法如下:

from somemodule import example_dict

def some_method():
    # ... code ...
    my_dict = example_dict()
    # ... more code ...
© www.soinside.com 2019 - 2024. All rights reserved.