Python中的模块、包、库有什么不同之处?
初学python的小伙伴,经常会被“模块”、“包”、“库”搞的晕头转向,分不清它们之间的区别,那么你知道Python中的模块、包、库有什么区别吗?今天小编通过这篇文章为大家说一说。
模块
python模块,Module,是一个python文件,以.py结尾,包含了python对象定义和python语句。
模块让你能够有逻辑地组织你的python代码段,把相关的代码分配到一个模块里能让你的代码更好用、更易懂。
模块能定义函数,类和变量,模块里也能包含可执行的代码。
使用模块有什么好处?
最大的好处是大大提高了代码的可维护性;其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用,我们在编写程序的时候,也经常引用其他模块,包含python内置的模块和来自第三方的模块。
使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。但是也要注意,尽量不要与内置函数名字冲突。
包 package
为了组织好模块,将多个模块分为一个包。
包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的python的应用环境。
简单来说,包就是文件夹,但该文件下必须存在__init__.py文件,该文件的内容可以为空。__init__.py用于标识当前文件夹是一个包。考虑一个在package_runoob目录下的runoob1.py、runoob2.py、__init__.py文件,test.py为测试调用包的代码,目录结构如下:
test.py
package_runoob
|-- __init__.py
|-- runoob1.py
|-- runoob2.py
库
库的概念是具有相关功能模块的集合。这也正是python的一大特色之一,即具有强大的标准库,还有第三方库以及自定义模块。
python中的库是借用其他编程语言的概念,没有特别具体的定义,python库着重强调其功能性。在python中,具有某些功能的模块和包都可以被称作库,模块有诸多函数组成,包由诸多模块机构化组成,库中也可以包含包、模块和函数。