模塊的加載問題
當(dāng)導(dǎo)入一個模塊時, 模塊中的代碼都會被執(zhí)行. 如果再次導(dǎo)入這個模塊,則不會再次執(zhí)行 者為什么這么設(shè)計?因為導(dǎo)入模塊更多的時候需要的是定義模塊中的變量、函數(shù)、對象等. 這些并不需要反復(fù)定義和執(zhí)行.“只導(dǎo)入一次 import-only-once ”就成了一種優(yōu)化. 參考設(shè)計模式的單例模式思想核心: 一個模塊無論導(dǎo)入多少次,這個模塊在整個解釋器進(jìn)程內(nèi)有且僅有一個實例對象(單例)
重新加載有時候我們確實需要重新加載一個模塊,這時候可以使用:importlib.reload()
方法
實操代碼
#mypy14_module_load.py
print("當(dāng)前模塊被加載了...")
#mypy14_test.py
importmypy14_module_load#不會再執(zhí)行test02模塊中的語句
importmypy14_module_load#會執(zhí)行test02模塊中的語句
print("####")
importimportlib
importlib.reload(mypy14_module_load)#有時候我們確實需要重新加載一個模塊,這時候可以使用:importlib.reload()方法:
-
模塊
+關(guān)注
關(guān)注
7文章
2695瀏覽量
47433 -
代碼
+關(guān)注
關(guān)注
30文章
4780瀏覽量
68529 -
python
+關(guān)注
關(guān)注
56文章
4792瀏覽量
84630
發(fā)布評論請先 登錄
相關(guān)推薦
評論