一、模块的定义
用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能)
本质就是.py结尾的Python文件(文件名test.py,对应的模块名:test)
包:用来从逻辑上组织模块的,本质是一个目录(必须带有一个__init__.py文件)
二、模块的导入
import module_name
import module1_name,module2_name
#相当于将module_name.py文件赋值给module_name
调用时:module_name.funcationname
from module_name import *
from module_name import 变量名/函数名
调用时,直接使用,不用加module_name前缀
此导入方式会引起函数名,变量名在原调用文件中的冲突
from module_name import func_name/varname as new_name
此方式可以避免上述重名冲突,使用时用new_name 调用
from . import module_name 从当前目录导入module_name
三、import的本质
导入模块的本质就是把Python文件解释一遍(import test======>test = 'test.py all code')
import module_name ------------>module_name.py------>module_name.py的路径----->sys.path
在sys.py这个列表里查找module_name,找不到抛出错误
导入包的本质就是解释(执行)该包下的__init__.py文件
import package_name #run package_name下的__init__.py文件
4、导入优化
from module_name import func_name/varname as new_name
减少import的检索过程
相当于把模块module_name 下的func_name/varname 拿到当前执行一遍
5、模块的分类
a、标准库
b、开元模块
c、自定义模块