【Python】模块
1.模块的概念
Python中有一种方法可以把定义放在一个文件里面,并在脚本或者解释器的交互实例中使用它们。这样的文件被称作Python的模块。
2.自定义模块
在Python中,自定义模块有两个作用,一个作用是规范代码,让代码更容易阅读;另一个作用是方便其他程序使用已经编写好的代码,提高开发率。要实现自定义模块主要分为两部分,一部分是创建模块,另一部分是导入模块。
①创建模块
模块是在函数和类的基础上将一系列代码组织到一起的集合体,在Python中,一个模块就是一个扩展名.py的源程序文件。在一个模块内部,模块名(作为一个字符串)可以通过全局变量_ _ name_ _的值获取。
使用文本编辑器在当前目录下创建一个名为fibo.py的文件(Fibonacci为斐波那契数列),文件中的程序,如下所示:
②使用import语句和from…import语句导入模块
(1)使用import语句
模块创建完成后,其他程序就可以调用 。使用模块时,先以模块的形式,用import语句来加载模块中的代码。基本语法格式如下:
import modulename [as,alias]
其中,modulename为需要导入模块的名称,[as,alias]为给模块起的别名,通过该别名也可以使用模块。
(2)使用from…import语句
在使用import语句导入模块时,每执行一条import语句都会创建一个新的命名空间(namespace),from…import语句的基本语法格式如下:
from modulename import member
其中,modulename是模块名称,区分字母大小写,需要和定义模块时设置的模块名称的大写保持一致;member为用于指定要导入的变量函数和类等。可以同时导入多项定义式。
3.模块搜索路径
我们都知道,在使用Python时,无论是使用第三方的模块还是自己开发的模块,都需要现在代码中使用import来引入。
(1)在当前目录(即执行的Python脚本文件所在的目录)下查找。
(2)到PYTHONPATH(环境变量)下的每个目录查找。
(3)到Python的默认安装目录下查找
4.以主程序的形式执行
在外部调用某个模块时,可能会将只能在本模块执行的代码给执行了,但使用“if_ _name_ _== '_ _main_ _':”,这一代码能够让某些特定的代码指定只能在自身运行时才执行被调用时不执行。
5.Python中的包
①包
包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的Python应用程序执行环境。
简单来说,包是一个包含_ _init _ _.py文件的目录,该目录下一定要有_ _init _ _.py文件和其他的模块或者子包。
Python库是参考其他编程语言的说法,就是指Python中的完成一定功能的代码集合,供 用户使用的代码组合,在Python中是模块和包的形式。
②创建包
在D盘目录下,创建一个名称为bag的包,按照以下步骤进行。
(1)在我的文档下打开D盘,单击新建文件夹
(2)在新创建的文件夹命名为“bag”,然后单击进入文件夹
(3)在IDLE中创建一个名称为“_ _init _ _.py”的文件,保存在该文件夹下,且在该文件中不写入任何内容。
(4)至此,名为bag的包就创建完毕,之后就可以在该包中创建所需的模块了
③使用包
在文档中创建好包后,就可以在包中创建相应的模块,然后再使用import语句从包中加载模块。
从包中加载模块有三种方法。
(1)import+完整包+模块名
import bag.time
(2)from+完整包名+import+模块名
from bag import time
(3)from+完整包名+模块名+import+定义名
from bag.time import minutes,hours
6.标准库
Python标准库一共可以使用三种:turtle库、random库、time库。
turtle库中包含100多个功能函数,主要有窗体函数、画笔状态函数和画笔运动函数,可以进行基本图形的绘制。
random库中提供了不同类型的随机数函数,主要是用来生成随机数。其中最基本的函数是random.random(),它生成一个[0.0,1.0)之间的随机小数,所有其他随机函数都是基于这个函数扩展而来。
time库提供系统级精确计时器的计时功能,用来分析程序性能,也可以让程序暂停运行时间,是Python提供的处理时间标准库。