1.13 模块

模块是一种扩展名为py的Python文件,其中可包含变量、语句和函数等。模块包括Python内置模块、第三方模块和自定义模块。

1.13.1 内置模块和第三方模块

前面在讲解标准模块函数时介绍了math模块、cmath模块和random模块。它们都是Python内置模块,在安装Python软件时就在了,不需要另外安装。

除了Python内置模块,Python还有很多第三方模块,如有名的NumPy、pandas和Matplotlib等。使用第三方模块,我们可以轻松地站在前人肩膀上,大幅提高工作效率。在使用第三方模块前,需要先安装它们。

1.13.2 自定义模块

除了Python内置的模块和第三方模块,我们还可以自己创建模块,这就是自定义模块。本节以文件方式提供的示例文件都是自定义模块文件。自定义模块在Python IDLE文件脚本窗口中输入和编辑。

在Python命令行窗口中单击“File”菜单中的“New File”选项,打开文件脚本窗口,如图1-9所示。在该窗口中输入变量、语句、函数和类,完成工作任务。

图1-9 文件脚本窗口

自定义模块根据其代码构成,可以分为脚本式自定义模块、函数式自定义模块和类模块。

在脚本式自定义模块中没有定义函数,也没有定义类,只有由变量和语句组成的动作序列。前面在介绍流程控制时使用的示例文件都是脚本式自定义模块文件。

在函数式自定义模块中定义有函数,在其他模块中导入这种类型的模块,可以使用其中的函数。本节中与函数有关的示例文件都是函数式自定义模块文件。

类模块是一种特殊的模块,它按照面向对象的思想组织代码。按照面向对象的编程思想,通过编程解决问题时,首先将与问题相关的主体抽取出来,称为对象,然后用程序代码描述这些对象,这些代码的集合称为类。类就像印钞票的模板,有它以后就可以源源不断地创建类的实例,这些实例也称为对象,它们是现实世界中的对象基于类代码的抽象或简化。所以,面向对象编程就是用这些简化后的对象来模拟现实世界中的对象,以及模拟它们之间的关系和交互操作的。

在Python中使用class关键字定义类,基本语法格式为:

其中,ClassName为类名,statements为定义类的语句。

类是用代码来描述现实世界中的对象的,对象静态的特征如猫的品种、颜色、年龄等用类的属性描述,对象的行为即动态的特征,如猫的跑、跳、吃东西等用类的方法来描述。类的方法用函数进行定义。

下面创建一个student类,定义它的ID属性和run方法。该文件位于Samples目录下的ch01子目录中,文件名为sam0129.py。

第1~9行定义一个student类,它有一个ID属性,其中第4行和第5行定义一个构造函数,使用它可以创建类实例,第7~9行定义run方法。第11~13行创建类实例,输出类实例的ID属性值,调用它的run方法。

在Python IDLE文件脚本窗口中,在“Run”菜单中单击“Run Module”选项,则IDLE命令行窗口显示下面的结果: