1.定义
模块:用来从逻辑上组织python代码(变量,函数,类),实现一个功能,本质是.py结尾的python文件,(文件名:test.py,对应的模块名:test)
包:用来从逻辑上组织模块,本质是一个目录(必须包含init.py文件)
2.导入方法
导入单个:
import module
导入多个:
import module1, module2
导入所有:
from module import * # 不推荐,易引起冲突
导入部分:
from module import func1,func2
取别名:
from module import func as func_other
导入同一包内的模块
from . import module # “.”代表当前路径,相对路径 from package import module # 此方法pycharm找不到模块,但是可以运行
跨目录导入
import sys import os BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 获取绝对路径,回到项目根目录 sys.path.append(BASE_PATH) # 为程序添加搜索路径,把自定义路径放到最前面,优化搜索 import package # 导入包,运行init文件
3.import本质
导入模块的本质:把python文件解释一遍
import xxx # 整个文件代码执行一遍,赋值给xxx (xxx = "all code in xxx") from module import xxx # 找到xxx代码单独执行 # import module_name --> module_name.py --> module_name的路径 --> sys.path
导入包的本质:执行目录下init.py文件
4.导入优化
多次调用xxx,推荐:
from module import xxx # 找到xxx代码单独执行
5.模块的分类
a.标准库
b.开源模块
c.自定义模块