这是《 Python语言参考》对模块导入方式的描述:
(1)找到一个模块,并 在必要时对其进行 初始化;(2)在本地名称空间中定义一个或多个名称
(添加了强调。)在这里, 初始化 模块意味着执行其代码。仅在 必要时 执行此执行,即,如果当前进程中先前未导入模块。由于python模块是一流的运行时对象,因此它们实际上成为单例,并在首次导入时进行了初始化。
请注意,这意味着不需要get_state_dict_code
功能。只需state_code_dict
在顶层初始化即可:
state_code_dict = generate_state_code_dict()