# A 模块的介绍# 模块概念:功能的集合体,将这些功能集合在一个文件里,这个文件简称为模块。 例如家务活(扫地功能,擦桌子功能等,都是保姆干的,保姆就相当于一个模块)# 模块分类:内置模块 第三方模块 自定义模块## B 模块的使用:import | from ...import...# import 模块名 模块名也就是文件名# from 模块名 import 模块中的名字1, ..., 模块中的名字n# from 模块名 import 名字 as 别名# 在执行文件中导入和使用模块以及使用模块中名称空间的名字的语法:# 导入模块: import 模块名 使用 模块名. 模块名和点连用# 常见的四种模块(了解下)# 1.使用python编写的.py文件# 2.把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包)# 3.使用C编写并链接到python解释器的内置模块# 4.已被编译为共享库或DLL的C或C++扩展# C 模块导入的三个过程# 首次导入 import 模块名# 1.将被导入的模块编译形成对应的pyc文件# 2.进入模块,从上执行执行模块中的代码,将产生的所有名字存放在该模块文件的全局名称空间中# 3.在使用模块的文件中,产生一个与模块名(模块文件名)同名的名字,指向模块的全局名称空间import t1# 运行起来就是aaa t1文件是 print('aaa')# 后面重复导入的结果还是第一次导入的结果,只是执行第三步 前两步不在执行# 注意 import 模块名 as 别名 导入一旦起别名,原模块名变量失效,本质只产生了别名变量指向模块文件的全局名称空间# D 模块的加载顺序# 内存>内置>sys.path sys.path 指的是环境变量 (没有想要的模块,就在环境变量里添加模块路径)# E 环境变量# 环境变量:存放路径的list,第一位默认一定是当前执行文件所在的路径import sys# sys.path就是环境变量# 清空环境变量:所有导入都不能使用了sys.path.clear()# 添加指定路径到环境变量sys.path.append() # 在结尾添加sys.path.insert() # 在什么前面添加 def insert(self, *args, **kwargs): Insert object before index.# F from...import语法导入# 导入完成的三件事# 1.将被导入的模块编译形成对应的pyc文件# 2.进入模块,从上执行执行模块中的代码,将产生的所有名字存放在该模块文件的全局名称空间中# 3.在导入模块的文件中形成(一个或多个)名字指向模块全局名称空间中的(一个或多个)具体名字# 注意# from 模块名 import 模块中的名字1, ..., 模块中的名字n# from 模块名 import 名字 as 别名# from...import导入依赖环境变量 sys.path# G 循环导入# 循环导入的问题点:名字没有产生就使用名字# 解决循环导入:先产生名字,在导入模块# -- 将会产生循环导入的模块,导入语法延后 - 延后导入