模块导入方法:
import module_name
import module_name, module2_name
from module_a import *
from module_a import logger as log(把原模块中的方法名用一个新的名字指向,可以直接调用)
import本质:(搜索路径:从sys.path中找)
(x=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(x) 添加文件查找路径
)
导入模块本质就是把模块中代码解释一遍,相当于把这个模块中的代码复制到当前文件
导入包的本质是执行该包下的__init__.py文件
(导入一个包中的模块,需要在__init__.py文件中写from . import test 这样导入包的时候会执行这个init文件,这个包也就指向了这个模块名,通过这个模块名就可以找到这个模块的代码)
import module_a (module_a=all_code, 调用module_a.log())
from module_a import log (调用log())
导入优化:
如果用import module_a,多个方法调用module_a 模块中的logger方法就会多次去路径中找是否有这个方法,所以用from module_a import logger,就相当于把logger这个方法写在了当前模块中,执行了一遍,就把logger这个方法加在了内存中,下次可以直接找到使用.