第九章

第9章 模块与包

9.1 模块的概念

在Python中,模块可以分为3类,具体如下所示:
内置标准模块(标准库)——Python自带的模块,如sys、os等。
自定义模块——用户为了实现某个功能自己编写的模块。
第三方模块——其他人已经编写好的模块。
一个Python程序可由若干模块构成,一个模块中可以使用其他模块的变量、函数和类等,如图所示。
在这里插入图片描述

9.2 模块的导入

import与from导入模块各有特点,使用import导入模块时比较简单,使用from导入模块时需列出想要导入的对象名,但无论哪种导入方式,模块只能一次导入。另外,注意模块整体导入的开销是比较大的。

9.3 内置标准模块

9.3.1 sys模块

sys模块是Python标准库中最常用的模块之一。通过它可以获取命令行参数,从而实现从程序外部向程序内部传递参数的功能,也可以获取程序路径和当前系统平台等信息。
接下来演示通过sys模块获取命令行参数,如例所示。
在这里插入图片描述

9.3.2 platform模块

platform模块提供了很多方法用于获取有关开发平台的信息,如例所示。
在这里插入图片描述

9.3.3 random模块

random模块用于生成随机数,其中常用的函数如表所示。
在这里插入图片描述

9.3.4 time模块

time模块用于获取并处理时间,Python中有两种时间表示方式,接下来分别介绍每种表示方式。

  1. 时间戳
    时间戳是指从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。在time模块中的time()函数可以获取当前时间的时间戳,如例所示。在这里插入图片描述
  2. 时间元组
    时间元组struct_time包含9个元素,具体如表所示。
    在这里插入图片描述

9.3.4 time模块

在上例中,程序通过time模块中localtime()函数可以将时间戳转为时间元组。从运行结果可发现,时间元组表示时间也不易观察,此时可以通过strftime()函数将时间元组格式化,如例所示。
在这里插入图片描述

9.4 自定义模块

毕竟内置标准模块的功能有限,开发人员经常需要自定义函数,此时可以把函数组织到模块中,其他程序只需导入便可以引用模块中定义的函数,这种做法不仅使程序具有良好的结构,而且增加了代码的重用性。
在Python中,每个.py文件都可以作为一个模块,模块的名字就是文件的名字,接下来演示如何自定义模块,假设mymodule.py文件中包含2个函数,具体如下所示:

9.5 包的概念

Python的程序由包、模块和函数组成。包是由一系列模块组成的集合,模块是处理某一类问题的函数和类的集合,它们之间的关系如图所示。
在这里插入图片描述

9.6 包的发布

本节将演示如何将写好的模块进行打包和发布,最简单的方法是将包直接复制到Python的lib目录,但此方式不便于管理与维护,存在多个Python版本时会非常混乱。接下来通过编写setup.py来对9.5节介绍的pack模块进行打包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值