注:本笔记对应江灏老师在B站的教学视频https://www.bilibili.com/video/BV1zE411V79p
1.1模块
Python程序框架
将一个程序分割为源代码文件的集合,以及将这些部分连接在一起的方法。
Python源代码文件:*.py
-
一个py文件是一个模块(moudle)
模块是Python中的最高级别组织单元,它将程序代码和数据封装起来,以便重用。最高层次的代码复用。
模块的三个角色:
-
代码重用
-
系统命名空间的划分(模块可理解为变量名的封装,即模块就是命名空间)
-
实现共享和服务
-
-
多个模块可以组成一个包(package)
-
包的本质就是一个文件夹,那么文件夹唯一的功能就是将文件组织起来(包必须包含一个init.py”的文件)
1.2导入包和模块
import module_name from module_name impot name import x #导入整个x模块实体,引用其中的函数需要用实体.里面的函数(推荐) from x import * #导入整个模块的内容,引用其中的函数只需要世界用函数名,不需要.(使用方便,但容易冲突,因为就相当于把模块的内容打在了本文件中)。 from x import a,b,c
1.3模块导入的搜索机制
模块导入
首先Python解释器检查module registry(sys.modules)部分查看模块是否导入,是的话就使用当前存在的模块对象,否的话就先创建一个新的、空的module对象,然后在sys.module字典中插入该模块对象,最后加载该模块代码所对应的对象。
模块搜索机制
①程序的主目录--->②PYTHONPATH(环境变量)目录--->③标准库链接目录--->④任何.pth文件的内容
以上四个组件组合起来就变成了sys.path,其保存了模块搜索路径在机器上的实际配置,可以通过打印内置的sys.path列表来查看这些路径
搜索路径①③是系统自定义的,而②④可以用于拓展路径,从而加入自己的源代码目录。