Python:优化模块导入
这是一个理论上的问题,我一直在寻找答案,但从来没有真正找到它 假设我有我的主文件Python:优化模块导入,python,import,module,Python,Import,Module,这是一个理论上的问题,我一直在寻找答案,但从来没有真正找到它 假设我有我的主文件main.py,它有import numpy作为np和import helper 如果我有一个helper文件helper.py,我可以在helper.py中使用np,因为我已经在main.py中导入了它,并且我唯一一次使用helper.py是通过main.py,导致numpy总是被导入?否。状态: import语句结合了两个操作;它搜索 命名模块,然后将搜索结果绑定到 局部范围 如果导入发生在模块顶部,则本地作用域
main.py
,它有import numpy作为np
和import helper
如果我有一个helper文件helper.py
,我可以在helper.py
中使用np
,因为我已经在main.py
中导入了它,并且我唯一一次使用helper.py
是通过main.py
,导致numpy
总是被导入?否。状态:
import语句结合了两个操作;它搜索
命名模块,然后将搜索结果绑定到
局部范围
如果导入发生在模块顶部,则本地作用域将是全局的,即模块的本地作用域
从好的方面来看,通常只会发生一次导入。Python将在执行导入之前搜索缓存中的导入,并在找到之前导入的模块时创建对该模块的引用。这就需要加载第二个副本——在两个模块中都使用import语句(通常)是无害的
导入搜索期间检查的第一个位置是sys.modules。这
映射用作以前已创建的所有模块的缓存
已导入,包括中间路径
此外,从:
如何跨模块共享全局变量
在单个模块中跨模块共享信息的规范方式
程序将创建一个特殊模块(通常称为config或cfg)。
只需在应用程序的所有模块中导入配置模块
复制品?你做实验时发生了什么?