合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
[TOC] --- ## 概述 * 模块是一个独立的程序文件 * 每个模块都有的自己的名称空间 #### 为什么使用模块? 模块通过使用自包含的变量的包,也就是所谓的命名空间提供了将部件组织为系统的简单的方法。在模块文件中,顶层定义的左右变量名那个都变成了被导入模块对象的属性。也就是说,模块文件的全局作用域变成了模块对象的命名空间。 * 代码重用 * 系统命名空间的划分 模块是在python中级别最高级别的程序组织单元 * 实现共享服务和数据 模块对实现系统共享的组件是很方便的,只需要拷贝即可。 #### 如何组织一个程序? 一般来说,一个python程序包含了多个python语句的文本文件,程序是作为一个主体的、顶层的文件来构造的,配合其他文件的支持,在python中这些文件称为模块。 python顶层文件包含了主要的控制流程,这就是你需要运行来启动的文件。模块文件就是工具的库,顶层文件使用了模块文件中定义的库。 一个文件导入了一个模块来获得这个模块定义的工具的访问权。 ### 导入和属性 help('module') 查看标准库模块 ,也可以在网页端查看[标准库文件][1]。 ![](http://om4h63cja.bkt.clouddn.com/17-3-9/13244452-file_1489043667076_7bb5.png) #### impor如何工作? 模块第一次导入时,会执行2个步骤,以后再次导入时,只是提取内存中已加载的模块对象。 1. 搜索模块文件 2. 编译成字节代码 3. 执行代码来创建其所定义的对象 从技术上讲,python会把载入的模块存储到一个名为sys.modules表中,并在导入操作时先检查该表。 ##### 模块搜索路径 程序主目录 -->PYTHONPATH目录 --> python标准库 --> .pth文件内容 [1]:https://docs.python.org/3/library/index.html