如果代碼的某個(gè)子模塊加載了大模塊,那么從該命名空間引用該模塊而不是再次導(dǎo)入該模塊有什么好處?例如:我有一個(gè)模塊MyLib,它廣泛使用ReallyBigLib。如果我有導(dǎo)入MyLib的代碼,我應(yīng)該像這樣將模塊挖出來import MyLibReallyBigLib = MyLib.SomeModule.ReallyBigLib要不就import MyLibimport ReallyBigLib
3 回答

翻閱古今
TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超5個(gè)贊
正如其他人指出的那樣,Python維護(hù)著所有已導(dǎo)入模塊的內(nèi)部列表。首次導(dǎo)入模塊時(shí),模塊(腳本)將在其自己的名稱空間中執(zhí)行直到結(jié)束,內(nèi)部列表將更新,并在import語句之后繼續(xù)執(zhí)行。
試試這個(gè)代碼:
# module/file a.py
print "Hello from a.py!"
import b
# module/file b.py
print "Hello from b.py!"
import a
沒有循環(huán):只有緩存查找。
>>> import b
Hello from b.py!
Hello from a.py!
>>> import a
>>>
Python的優(yōu)點(diǎn)之一是,一切都演變?yōu)樵诿臻g中執(zhí)行腳本。
添加回答
舉報(bào)
0/150
提交
取消