python库、包、模块概念辨析

Python027

python库、包、模块概念辨析,第1张

划重点: 这三个概念(库、包、模块)实际上都是模块,只不过是个体和集合的区别。

模块

一个模块就是一个.py文件,里面定义了一些函数和变量,需要的时候就可以导入这些模块(.py文件)。

模块方式:

1、from 模块名 import 函数名

2、import 模块名

可以使用as 为模块或函数起一个别名

在模块之上的概念,为了方便管理而将 .py文件 进行打包。包目录下第一个文件便是 init .py(特点),然后是一些模块文件和子目录等。

库:具有相关功能模块的集合。这也是Python的一大特色之一,即具有强大的标准库、第三方库以及自定义模块。

第三方库:就是由其他的第三方机构,发布的具有特定功能的模块。

自定义模块:用户自己可以自行编写模块,然后使用。

这三个概念(库、包、模块)实际上都是模块,只不过是个体和集合的区别

链接:https://www.jianshu.com/p/94c3a55ecdf9

1、模块(Module)就是包含代码的文件,不一定是Python代码,有四种代码类型的模块:

•使用Python写的程序( .py文件)

•C或C++扩展(已编译为共享库或DLL文件)

•包(包含多个模块)

•内建模块(使用C编写并已链接到Python解释器内)

使用模块可以提高代码的可维护性和重复使用,还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,所以编写自己的模块时,不必考虑名字会与其他模块冲突,但要注意尽量不要与内置函数名字冲突。

2、包(Package)就是包含模块文件的目录,目录名称就是包名称,目录中可以包含目录,子目录也是包,但包名称应该包含上一级目录的名称。Python引入了按目录来组织模块是为了避免模块名冲突,不同包中的模块名可以相同。

注意,每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是包名。