注:本笔记对应江灏老师在B站的教学视频https://www.bilibili.com/video/BV1zE411V79p

1.1模块

Python程序框架

将一个程序分割为源代码文件的集合,以及将这些部分连接在一起的方法。

Python源代码文件:*.py

  1. 一个py文件是一个模块(moudle)

    SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

    模块是Python中的最高级别组织单元,它将程序代码和数据封装起来,以便重用。最高层次的代码复用。

    模块的三个角色:

    1. 代码重用

    2. 系统命名空间的划分(模块可理解为变量名的封装,即模块就是命名空间)

    3. 实现共享和服务

  2. 多个模块可以组成一个包(package)

  3. 包的本质就是一个文件夹,那么文件夹唯一的功能就是将文件组织起来(包必须包含一个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列表来查看这些路径
搜索路径①③是系统自定义的,而②④可以用于拓展路径,从而加入自己的源代码目录。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄