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 函数 #可直接导入模块中的函数或变量。在使用时,必须指定包名和模块名。
标签:__,文件,name,包名,模块,import From: https://www.cnblogs.com/twy5250/p/17262471.html