如果代码的某个子模块加载了大型模块,那么从该命名空间引用该模块而不是再次导入该模块是否有任何好处?
例如:我有一个模块MyLib,它广泛使用ReallyBigLib.如果我有导入MyLib的代码,我应该像这样挖出模块
import MyLib
ReallyBigLib = MyLib.SomeModule.ReallyBigLib
Run Code Online (Sandbox Code Playgroud)
要不就
import MyLib
import ReallyBigLib
Run Code Online (Sandbox Code Playgroud) 我经常使用Django构建相当复杂的python应用程序.为了简化应用程序间接口,我有时会使用从模型中抽象出来的service.py模块.
作为这些"聚合功能",它们经常以循环导入结束,通过将import语句放在服务函数中可以轻松消除这些导入.
是否存在与通常移动进口尽可能接近其使用点相关的显着性能或内存成本?例如,如果我只在文件的一个函数中使用特定的导入名称,那么将导入放在该特定函数中而不是在传统位置的文件顶部似乎很自然.
此问题与此问题略有不同,因为每个导入都在函数名称空间中.