如果代码的某个子模块加载了大模块,那么从该命名空间引用该模块而不是再次导入该模块有什么好处?例如:我有一个模块MyLib,它广泛使用ReallyBigLib。如果我有导入MyLib的代码,我应该像这样将模块挖出来import MyLibReallyBigLib = MyLib.SomeModule.ReallyBigLib要不就import MyLibimport ReallyBigLib
3 回答
翻阅古今
TA贡献1780条经验 获得超5个赞
正如其他人指出的那样,Python维护着所有已导入模块的内部列表。首次导入模块时,模块(脚本)将在其自己的名称空间中执行直到结束,内部列表将更新,并在import语句之后继续执行。
试试这个代码:
# module/file a.py
print "Hello from a.py!"
import b
# module/file b.py
print "Hello from b.py!"
import a
没有循环:只有缓存查找。
>>> import b
Hello from b.py!
Hello from a.py!
>>> import a
>>>
Python的优点之一是,一切都演变为在命名空间中执行脚本。
添加回答
举报
0/150
提交
取消