Python程序设计
上QQ阅读APP看书,第一时间看更新

4.2.1 模块的概念

1.模块、模块化程序设计

模块是一个设计术语,通常是指一个可重用的标准单元。例如,手机中的电源模块、屏幕模块、摄像模块;建筑材料上的预制板模块、门模块、窗模块等。

对于软件,模块又称构件,是指能够单独命名并独立完成一定功能的程序语句的集合。它具有两个基本的特征:外部特征和内部特征。外部特征是指模块跟外部环境联系的接口(即其他模块或程序调用该模块的方式,包含输入/输出参数、引用的全局变量)和模块的功能;内部特征是指模块的内部环境具有的特点(即该模块的局部数据和程序代码)。

模块化程序设计是指在进行程序设计时将一个大程序按照功能划分为若干小程序模块,每个小程序模块完成一个确定的功能,并在这些模块之间建立必要的联系,通过模块的互相协作完成整个功能的程序设计方法。例如,一个学籍管理软件,可以划分为学籍录入模块、查询模块和打印模块等。

利用函数,不仅可以实现程序的模块化,使得程序设计更加简单和直观,从而提高程序的易读性和可维护性,而且还可以把程序中经常用到的一些计算或操作编写成通用函数,以便随时调用。

使用模块有什么好处?首先是大大提高了代码的可维护性。其次,编写代码不必从零开始。当一个模块编写完毕,就可以在其他地方被引用。在实际编写程序的时候,也经常引用其他模块,包括Python内置的模块和来自第三方的模块。

再次,使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量可以分别存在不同的模块中,因此,在编写模块时,不必考虑名字是否会与其他模块冲突。当然,尽量不要与内置函数名字冲突。

2.Python的模块

在Python中,把包含所有定义的函数和变量,以及具有特定功能的程序保存在.py文件中,每一个.py程序文件就被称为一个模块(Module)。Python中的模块分为以下3种。

1)Python标准库。

2)第三方模块。

3)应用程序自定义模块。

模块可以被其他程序引入,以便使用该模块中的函数等功能。这也是使用Python标准库的方法。

Python语言之所以能被广泛应用于各行各业,在很大程度上得益于它的模块化系统。在Python的标准安装中包含了一组自带的模块,这些模块被称为“标准库”。每次导入模块之后,Python就增加了某种特别的功能。

更重要的是,开发者完全可以根据自己的需要不断地为Python增加扩展库。各行各业的Python用户贡献了大量的扩展库,这些扩展库极大地丰富了Python的功能,这些扩展库从某种程度上也形成了Python的“生态圈”。

如果不同的人编写的模块名相同怎么办?为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)。