模块的概念
模块是一个保存了Python代码的文件,其中可以包含变量、函数或类的定义,也可以包含其他各种
Python语句模块有以下3方面的优势
(1)模块提高了代码的可维护性。在程序开发过程中,随着程序功能的增多,在一个文件中的代码会越来越长,从而造成程序不易维护,此时可以把相关功能的代码分配到一个模块里,从而使代码更易懂、更易维护。
(2)模块提高了代码的可重用性。在应用程序开发中,经常需要处理时间,此时不必在每个程序中写入时间的处理函数,只需导入time模块即可。
(3)模块避免了函数名和变量名冲突。由于相同名字的函数和变量可以分别存在于不同模块中,在编写模块时,不必考虑名字会与其他模块冲突(此处不考虑导包情况)。
模块可以分为3类
内置标准模块(标准库)——Python自带的模块,如sys、os等。
自定义模块——用户为了实现某个功能自己编写的模块。
第三方模块——其他人已经编写好的模块
在图中, a.py是一个顶层模块(又称主模块),其中使用了自定义模块b.py和内置标准模块,b.py也使用了内置标准模块。
模块的导入
模块需要先导入,然后才能使用其中的变量或函数
内置标准模块
sys模块:它可以获取命令行参数,从而实现从程序外部向程序内部传递参数的功能,也可以获取程序路径和当前系统平台等信息。
sys.path通常由4部分组成,具体如下所示:
1.程序的当前目录(可用os模块中的getcwd()函数查看当前目录名称)。
2.操作系统的环境变量PYTHONPATH中包含的目录(如果存在)。
3.Python标准库目录。
4.任何.pth文件包含的目录(如果存在)
platform模块
platform模块提供了很多方法用于获取有关开发平台的信息
random模块
random模块用于生成随机数,其中常用的函数如表所示。
time模块
time模块用于获取并处理时间Python中有两种时间表示方式,
1. 时间戳
时间戳是指从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。在time模块中的time()函数可以获取当前时间的时间戳
2. 时间元组
时间元组struct_time包含9个元素
自定义模块
在Python中,每个.py文件都可以作为一个模块,模块的名字就是文件的名字,接下来演示如何自定义模块,假设mymodule.py文件中包含2个函数,具体如下所示: