模塊導(dǎo)入方法:
import module_name
import module_name, module2_name
from module_a import *
from module_a import logger as log(把原模塊中的方法名用一個(gè)新的名字指向,可以直接調(diào)用)
import本質(zhì):(搜索路徑:從sys.path中找)
(x=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(x) 添加文件查找路徑
)
導(dǎo)入模塊本質(zhì)就是把模塊中代碼解釋一遍,相當(dāng)于把這個(gè)模塊中的代碼復(fù)制到當(dāng)前文件
導(dǎo)入包的本質(zhì)是執(zhí)行該包下的__init__.py文件
(導(dǎo)入一個(gè)包中的模塊,需要在__init__.py文件中寫(xiě)from . import test 這樣導(dǎo)入包的時(shí)候會(huì)執(zhí)行這個(gè)init文件,這個(gè)包也就指向了這個(gè)模塊名,通過(guò)這個(gè)模塊名就可以找到這個(gè)模塊的代碼)
import ?module_a ?(module_a=all_code, 調(diào)用module_a.log())
from module_a import log (調(diào)用log())
導(dǎo)入優(yōu)化:
如果用import module_a,多個(gè)方法調(diào)用module_a 模塊中的logger方法就會(huì)多次去路徑中找是否有這個(gè)方法,所以用from module_a import logger,就相當(dāng)于把logger這個(gè)方法寫(xiě)在了當(dāng)前模塊中,執(zhí)行了一遍,就把logger這個(gè)方法加在了內(nèi)存中,下次可以直接找到使用.