八、模块

发布时间 2023-03-27 18:27:11作者: 5250

pyhton中模块有3中层次类型

1.大模块:包(Package)

大型的程序通常博阿寒多个文件,按功能相近的原则将文件分组,每个组就是包。

包是一种python应用程序执行环境,通常有诺干个中模块和诺干子包组成,包一般包含一个__init__.py文件,该文件通常是空文件。

2.中模块:py文件

将项目中所有自定义函数分类分组,以文件形式组织同类函数,因此每个文件功能相对单一,代码也相对较少。在python中,一个.py文件就是一个中模块。

3.小模块:函数

 

内置函数是Python的标准函数,可直接调用,如print(),max(),len()等

内置模块是Python的标准库,必须通过import引用后才可调用(调用对应模块里的方法),默认安装在\Python\Pythonxxx\lib

第三方模块是第三方开发的,实现各种特定功能的模块,也叫第三方库。如selenium,paramiko等库

自定义模块是根据开发者项目需要编写的py文件。

 

模块测试:

if __name__ == '__main__':

当运行模块文件本身时,Python 解释器将特殊变量(内置全局变量) __name__ 的值置为字符串 __main__ ,因此__name__=='__main__'为真;后面语句会执行;
当该模块被其他程序所引用,那么__name__的值会被置为引用它的程序文件名(不包括.py),此时,__name__=='__main__'为假,后面语句块不会被执行。

 

模块如何被找到并引用的:

python通过内置模块的sys.path属性找到其他模块的。

sys.path 展示的是路径列表,是python引用时自动搜索的路径:

1)脚本文件所在的路径,即当前路径

2)PYTHONPATH系统变量设定的路径

3)默认安装路径

当自定义模块不在路径列表中时,是无法执行import引用的,需要先添加模块所在路径。

动态添加的路径,不影响环境信息,只在程序运行期间有效。

 

包的定义和应用

使用模块可避免函数名,变量名互相冲突。同名变量,函数可在不同模块中出现。同时为了避免模块名冲突,python引入按目录组织模块的方法,该目录就是包。

包与模块的关系:

 

 __init__.py文件一般是一个空文件,也可以对包进行些初始化工作,或涉资内置全局变量__all__语句。__all__就是使用语句from package_name import *准备的。

 

包的使用:

import 包名.子包名.模块     # 程序中使用时必须用全路径名

from 包名.子包名.import 模块   # 程序中使用时直接使用模块名,不需要假包前缀

from 包名.子包名.模块 import 函数     #可直接导入模块中的函数或变量。在使用时,必须指定包名和模块名。