模块

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

内置和第三方模块

【Excel VBA】

Excel VBA中没有内置模块,但是可以引用第三方模块扩展自己的功能,请参见11.2节的内容。

【Python】

介绍内置模块的函数时介绍了math模块、cmath模块和random模块。这几个都是Python内置的模块,安装Python软件时它们就在了,不需要另外安装。

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

函数式自定义模块

函数式自定义模块中定义有函数,可以在其他模块中使用它们。

【Excel VBA】

在Excel VBA编程环境中,在“插入”菜单中单击“模块”选项,插入一个新的模块。在该模块中输入代码,包括模块级变量或全局变量的声明和过程或函数等。

如图11-1中所示,添加模块1后在右侧的代码窗口中输入代码,添加一个求给定参数的和的函数,以及一个测试过程Test。Test过程调用求和函数求两个数的和并在立即窗口中输出。

这里求和函数Sum定义时使用了Private关键字,说明它是私有的,只能在本模块中调用。如果使用Public关键字,则它是全局的,可以在其他模块中调用。

Document Image

图11-1 Excel VBA的模块

【Python】

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

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

Document Image

图11-2 文件窗口

图11-2所示的文件窗口中定义了一个TP函数,它合并给定列表和一个新列表。函数下面给定列表,输出它,调用TP函数合并列表,再输出合并后的结果。

脚本式自定义模块

脚本式自定义模块中没有函数,而是用多条语句定义连续的动作序列。

【Excel VBA】

Excel VBA中无法创建脚本式自定义模块。

【Python】

第5章介绍流程控制时使用的示例文件都是脚本式自定义模块文件。

类模块

Excel VBA和Python中都可以创建类模块,类模块用代码描述现实世界里面的对象。有类以后,就可以生成类的实例,即对象,它是现实世界里面的对象基于类代码的抽象、模拟和简化。限于篇幅,这里不展开介绍。

窗体模块

窗体模块用于创建程序的图形用户界面,以便于用户交互输入和输出数据。

【Excel VBA】

在Excel VBA编程环境中可以创建窗体模块。在“插入”菜单中单击“窗体模块”选项,添加一个名为UserForm1的窗体。用鼠标单击工具箱中的控件按钮,然后在灰色界面面板上拖拉鼠标,可以画出对应的控件。单击该控件,可以在左下角的属性列表框中设置和修改控件的属性值。

如图11-3中设计界面,目的是计算上面两个文本框中输入的数据的和并显示在第三个文本框中。

Document Image

图11-3 设计界面

用鼠标双击“计算”按钮,进入代码窗口,如图11-4所示,这就是窗体模块。此时自动创建一个按钮双击事件的代码框架,在框架中添加代码,实现计算功能。

Document Image

图11-4 窗体模块

单击工具条中绿色三角形按钮执行程序,弹出图11-5所示的对话框。这就是我们刚才设计的界面。在上面两个文本框中输入1和5,单击“计算”按钮,在第三个文本框中输出6。

Document Image

图11-5 运行程序

【Python】

Python Shell没有提供创建窗体模块的功能。