如果代碼的某個子模塊加載了大模塊,那么從該命名空間引用該模塊而不是再次導入該模塊有什么好處?例如:我有一個模塊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
提交
取消