今日主要内容
1. 模块:模块的概念
2. 导入的方式 import from ... inport ...
名称空间(*****)、绝对导入、起别名
3. 环境变量:sys.path(*****)
4. 导入模块的顺序
5. 循环导入,模块间相互导入
1. 模块
常见的四种模块(module)
1. 使用python编写的.py文件
2. 把一系列模块组织到一个文件夹(注:文件夹下有一个__init__.py文件,该文件称之为包)
3. 使用C编写并链接到python解释器的内置模块
4. 已被编译为共享库或DLL的活C++扩展
1.1 什么是模块:一系列功能的集合体
1.2 为什么会出现模块
很多相似的功能,要统一管理,将这些功能放在一个文件夹中,该文件就是管理这些功能的集合体
1.3 怎么使用模块
在要使用模块功能的文件中导入模块:import 模块名
1.4 在哪使用模块
在所有要使用模块的功能的文件中导入并使用模块
2. 导入的方式
2.1 导入模块完成的三件事
2.1.1 首次导入
import 模块名
1. 将被导入的模块编译形成对应的pyc文件
2. 进入模块,从上往下执行模块中的代码,将产生的所有名字存放在该米快文件的全局名称空间中
3. 在使用模块的文件中,产生一个模块名(模块文件名)相同的名字,指向模块的全局名称空间
2.1.2 再次导入
不再执行导入步骤的前两步,只会走第三部,在当前模块中产生一个名字,指向第一次导入在内存中产生的全局名称空间
2.2 起别名
import 模块名 as 别名
导入一旦起别名,原模块名变量失效,本质上产生了别名变量指向模块文件的全局名称空间
2.3 模块的分类
大方向:内置(built - in)
自定义(系统提供、第三方提供、自己自定义)
3. 模块的加载顺序
内存 > 内置 > sys.path(安装环境变量中路径的先后顺序逐一加载)
3.1 环境变量
环境变量:存放路径的list,第一位默认一定是当前执行文件所在的路径
import sys
print(sys.path)
sys.path.clear()
print(sys.path) # []
sys.path.append() # 添加指定路径到环境变量
sys.path.insert()