Python 中的模块
Python 模块是一个 Python 文件,定义了各种功能接口。把复杂的功能封装为模块(又称为库),将功能实现的细节隐藏起来,使用该模块(库)的程序员不需要了解实现的细节。通过调用模块封装好的功能,可以用仅仅几行 Python 代码实现某项复杂的功能,例如可以用一行代码就实现一个 Web 服务器。
在 Python 的应用领域中,如:web 开发、人工智能、网络爬虫、数据分析等领域,已经存在了大量的模块,使用这些模块就可以轻松开发出应用程序。
1. 内置模块
Python 中的模块分为两类:
- 内置模块,由 Python 官方提供,包含在 Python 的安装包中,安装完 Python 后即可使用
- 第三方模块,由 Python 爱好者提供,需要用户额外安装
Python 提供了多个内置模块,提供了日常编程中许多问题的标准解决方案,常见的内置模块如下:
模块名 | 功能描述 |
---|---|
os | 提供操作系统的 IO 访问等功能 |
sys | 提供获取命令行参数等功能 |
math | 提供各种常见的数学运算函数 |
random | 提供产生随机数的功能 |
json | 提供对 json 文件的解析功能 |
datetime | 提供日期、时间的相关功能 |
2. 模块语法
2.1 math 模块简介
Python 的 math 模块提供了很多数学运算功能,例如:三角函数、求平方根、求对数等功能:
函数接口 | 功能描述 |
---|---|
fabs | 计算绝对值 |
sin | 正弦函数 |
cos | 余弦函数 |
sqrt | 求平方根 |
在下面的小节,将使用 math 模块作为例子讲解 Python 中模块的语法。
2.2 import 语句
import 语句将指定模块名的模块导入到程序中,然后程序即可使用模块中定义的函数,语法如下:
import 模块名
使用 import 语句的示例如下:
>>> import math
>>> math.fabs(-123.0)
123.0
- 在第 1 行,引入 math 模块
- 在第 2 行,使用 math 模块中的 fabs 函数求绝对值
2.3 import … as 语句
import … as 语句为模块取一个别名,程序可以使用模块的别名访问模块中的接口函数,语法如下:
import 模块名 as 别名
使用 import … as 语句的示例如下:
>>> import math as m
>>> m.fabs(-123.0)
123.0
- 在第 1 行,引入 math 模块,设置模块的别名为 m
- 在第 2 行,通过模块的别名 m 访问模块
2.4 from … import 语句
from … import 语句从指定模块中导入指定函数,程序可以通过函数名直接访问模块中定义的函数,语法如下:
from 模块名 import 函数名
使用 from … import 语句的示例如下:
>>> from math import fabs
>>> fabs(-123.0)
123.0
- 在第 1 行,从 math 模块中引入函数 fabs
- 在第 2 行,通过函数名 fabs 访问模块中定义的函数
2.5 from … import … as 语句
from … import … as 语句从模块中导入函数,同时为导入的函数取一个别名,示例如下:
>>> from math import fabs as abs
>>> abs(-123.0)
123.0
- 在第 1 行,从 math 模块中引入函数 fabs,并为该函数设置别名 abs
- 在第 2 行,通过函数的别名 abs 访问模块中定义的函数
2.6 from … import * 语句
from … import * 语句导入模块中全部的功能函数,示例如下:
>>> from math import *
>>> fabs(-123.0)
123.0
>>> sqrt(9)
3.0
- 在第 1 行,从 math 模块中导入全部的功能函数
- 在第 2 行,使用 math 模块中定义的函数 fabs 求绝对值
- 在第 4 行,使用 math 模块中定义的函数 sqrt 求平方根
3. 用户自定义模块
3.1 概述
本节讲解了如何自定义模块和使用模块,例子程序包括两个文件:
3.2 定义模块
编写程序 utils.py:
PI = 3.14
def max(a, b):
if a > b:
return a
else:
return b
def min(a, b):
if a < b:
return a
else:
return b
- 在第 1 行,定义了模块的导出变量 PI
- 在第 3 行,定义了模块的导出函数 max
- 在第 9 行,定义了模块的导出函数 min
3.3 使用模块
import utils
print(utils.PI)
print(utils.max(11, 22))
from utils import min
print(min(11, 22))
- 在第 1 行,引入模块 utils
- 在第 2 行,访问模块的导出变量 PI
- 在第 3 行,访问模块的导出函数 max
- 在第 5 行,引入模块 utils 中的导出函数 min
- 在第 6 行,访问模块的导出函数 min
运行程序 main.py,输出结果如下:
C:\> python main.py
3.14
22
11
- 在第 2 行,输出 PI 的值
- 在第 3 行,输出 max(11, 22) 的结果
- 在第 4 行,输出 min(11, 22) 的结果