当模块多次导入时,python是否会优化模块?

如果代码的某个子模块加载了大模块,那么从该命名空间引用该模块而不是再次导入该模块有什么好处?


例如:我有一个模块MyLib,它广泛使用ReallyBigLib。如果我有导入MyLib的代码,我应该像这样将模块挖出来


import MyLib

ReallyBigLib = MyLib.SomeModule.ReallyBigLib

要不就


import MyLib

import ReallyBigLib


慕勒3428872
浏览 736回答 3
3回答

翻阅古今

正如其他人指出的那样,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 bHello from b.py!Hello from a.py!>>> import a>>>Python的优点之一是,一切都演变为在命名空间中执行脚本。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python