Python模块导入和使用
模块
1、简介
- 本质:模块是指内部具有一定功能(代码)的py文件
2、模块的表现形式
- 1、py文件(py文件也可以称之为是模块文件)
- 2、含有多个py文件的文件夹(按照模块功能的不同划分不同的文件夹储存)
- 3、已被编译为共享库或DLL的C或C++扩展
- 4、使用C编写并链接到python解释器的内置模块
模块的分类
1、自定义模块
- 此类模块是我们自己编写的模块文件
2、内置模块
- python内置模块,不需要下载,只要在py文件内部调用就可使用
3、第三方模块
- 是从网络上下载的模块,此类模块功能比较强大,是python背后的大佬进行编写,上传后供我们使用的模块
导入模块的句式
- 1、执行文件:运行代码的主文件
- 2、被导入文件:指存放模块的文件,需要导入在执行文件
- 3、以后在编写代码时,py文件的名称一般是纯英文,不会含有中文或空格
- 4、被导入的模块文件不需要填写后缀名
- import句式
- from...import...句式
- 补充说明
- 起别名
- 可以通过以上两种句式在导入模块名的后方加as修改模块名
- 一次性导入多个模块
- 可以使用逗号的方式一次性导入多个模块,在模块功能相似度不高的情况下不推荐使用
循环导入的问题
- 循环导入
- 循环导入是指两个文件之间相互导入,并且相互使用各自名称空间中的名字
- 解决循环导入问题
- 确保名字在使用前就已经准备完毕
- 这种情况非常容易报错,在以后的使用当中,如果无特殊情况尽量避免这种情况发生
判断文件类型
模块查找顺序
- 内存
在导入模块时,python会首先在内存中查找模块名,当系统中无此模块名的时候会报错
- 内置空间
在我们导入模块时要避免模块名和内置模块名冲突的问题,若自定义模块和内置模块名冲突时,系统只会执行内置模块功能,执行自定义模块功能时,系统会报错
- 执行python所在的sys.path(系统环境)
- 当我们导入的模块在上述空间中都没有找到时,pycharm会到py执行文件所在的sys.path中寻找,所有我们在导入模块时,需要将添加至执行文件所在的sys.path目录中
- 可通过打印sys.path的方式来查看执行文件所在的地址
- 可通过sys.path.append的方式来将模块文件导入到执行文件的目录中
绝对导入与相对导入
- 绝对导入
- 绝对导入是指以执行文件所在目录为绝对路径的方式,将模块地址导入到py文件中
导入方式:
- 相对导入
这种导入方式不是以sys.path目录为相对路径,导入的其他模块中需要导入的地址是相对于模块的位置,这种话方式可以通过点的方式简写
- . # 表示当前目录
- ... # 表示路径中上一层目录
- .. \ .. # 表示上上一层目录
包
- 指含有多个py文件的集合
- 专业:内部含有__ init__.py文件的文件夹