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