包的认识
包的概念:包是一种通过使用‘.模块名’来组织python模块名称空间的方式。通俗的讲包就是一系列模块的集合体
具体的:包就是一个包含有 __ init __ .py文件的文件夹,所以其实我们创建包的目的就是为了用文件夹将文件/模块组织起来
使用包的目的:包的本质就是一个文件夹,那么文件夹唯一的功能就是将文件组织起来,而随着模块越来越多,我们就需要用文件夹将模块文件组织起来,以此来提高程序的结构性和可维护性
包名:包名就是存放一系列模块的文件夹名字
重点:
包中一定有一个专门用来管理包中所有模块的文件
包名(包对象)存放的是管理模块的那个文件的地址,指向其全局名称空间
模块的加载顺序
模块的加载顺序:内存 => 内置 => sys.path(一系列自定义模块)
import sys
sys.path
'''
sys.path 就是环境变量:存放文件路径的列表
重点:默认列表第一个元素就是当前被执行文件所在的目录
'''
我们可以自己往sys.path添加路径
sys.path.append(r'想导入的模块的绝对路径')
添加到环境变量最后,最后被查找
sys.path.insert(0, r'想导入的模块的绝对路径')
添加到指定索引,索引就决定了自定义模块的查找顺序
包以及包所包含的模块都是用来被导入的,而不是被直接执行的。而环境变量都是以执行文件为准的。
import time
第一次导入:内存->内置->自定义,最终在自定义中找到,完成导入,并在内存中缓存模块的内存地址
import m1
print(m1.num)
time.sleep(5