Python模块(module)

《Python模块(module)》

简介

我们已经介绍了函数,知道函数是对功能的封装。那么模块(module)就可以理解成是对函数的封装。模块将代码分成一些有组织的代码段,并保证它们之间的联系。通过模块能够实现代码重用。

导入模块

将其他模块中的属性加载到当前文件中的操作叫做导入,有四种导入的语句。

import语句:

import语句导入格式如下:

from-import语句:

还可以使用from-import语句从某个模块导入指定的属性,格式如下:

扩展import语句(as):

有时候导入的模块属性名字太长或者不喜欢,我们可以为导入的模块属性使用别名,比如:

使用as关键字,将模块属性重新命名。

from module import *语句:

该语句的意思是从模块module中导入所有的属性,这种写法本身并不是很好的编程风格,它有可能覆盖当前名称空间现有的名字。建议在两种情况下使用这种方式:一种是目标模块中的属性太多,反复键入模块名很不方便;另一种就是在交互模式下,因为可以减少输入次数。

模块分类

Python标准模块本身提供的功能并不多,这门语言强大的地方就在于有大量的第三方模块可调用,用来实现各种功能。一般来说,模块按照来源不同可以分为三种类型:

  • 标准库模块
  • 第三方模块
  • 自定义模块

标准模块

打开Python安装目录,可以看到一个Lib文件夹,里面放着的就是模块文件,如图所示:

《Python模块(module)》

通过导入模块的语句导入相关的模块,比如:

在这里导入time模块,执行该程序首先输出hello,休息三秒后,再输出finthon.com

第三方模块

第三方模块,是指别人已经开发好的模块,可以通过下载安装对方的模块,减少编程工作量。第三方模块在Lib文件夹的site-packages文件夹下,通过pip或者conda下载的第三方模块就保存在这个地方。

自定义模块

自定义模块是指我们自己编写的模块。在编写好对应的程序后,如果里面有几个函数常常用到,那么我们可以将它们整理成一个模块。在以后需要使用这项功能的时候,只需要导入该模块即可。举个简单的例子,新建一个python文件,暂命名为ccc.py,在这个文件中输入:

然后我们将这个文件保存在Lib文件夹下或者site-packages文件夹下,此时该文件就成了一个模块,模块名就是文件名ccc,可以直接通过导入该模块:

当然这只是一个简单的例子,导入模块的时候就会自动输出我们设定的内容。

自定义阶乘模块

接下来我们以一个实现阶乘的模块为例,做成“”的形式储存模块并调用。首先在site-packages文件夹下创建一个属于自己的文件夹,暂时命名为finthon,然后进入我们创建的文件夹,在该文件夹下新建一个名为__pycache__的文件夹,该文件夹名字固定,主要实现缓存相关的功能,然后新建一个__init__.py文件,名字也固定,主要执行一些初始化程序。现在目录结构如图:

《Python模块(module)》

于是,我们就可以开始在该目录下新建一个负责计算阶乘的脚本文件了,命名为docal.py,我们要实现的功能如下:

  • 输入负数,没有阶乘;
  • 输入0,阶乘为1;
  • 输入正数,返回阶乘值。

docal.py中写入如下代码:

可以看出,我们定义了一个cal()函数实现阶乘。最终文件及目录如下所示:

《Python模块(module)》

然后,我们输入如下代码验证我们写好的自定义模块:

我们成功实现了阶乘的计算。在这个过程中,我们首先导入了finthon下的docal模块,并将它重新命名为fd,然后调用fd模块中的cal()函数计算输入数字的阶乘值。

总结

在本文中,首先我们详细介绍了如何导入模块;然后介绍了Python中的三种模块类型;最后通过一个阶乘的例子详细地讲解了如何创建自定义的模块。随着以后的深入学习,我们完全可以将自己编写的好模块分享出去,让别人也受益匪浅。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

3 + 10 =