全国协议5人面授小班,企业级独立开发考核,转业者的IT软件工程师基地 登录/注册 | 如何报名
当前位置: Python   >  Python 中的模块
admin · 更新于 2021-08-06

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 模块名
代码块
  • 1

使用 import 语句的示例如下:

>>> import math>>> math.fabs(-123.0)123.0
代码块
  • 1
  • 2
  • 3
  • 在第 1 行,引入 math 模块
  • 在第 2 行,使用 math 模块中的 fabs 函数求绝对值

2.3 import … as 语句

import … as 语句为模块取一个别名,程序可以使用模块的别名访问模块中的接口函数,语法如下:

import 模块名 as 别名
代码块
  • 1

使用 import … as 语句的示例如下:

>>> import math as m>>> m.fabs(-123.0)123.0
代码块
  • 1
  • 2
  • 3
  • 在第 1 行,引入 math 模块,设置模块的别名为 m
  • 在第 2 行,通过模块的别名 m 访问模块

2.4 from … import 语句

from … import 语句从指定模块中导入指定函数,程序可以通过函数名直接访问模块中定义的函数,语法如下:

from 模块名 import 函数名
代码块
  • 1

使用 from … import 语句的示例如下:

>>> from math import fabs>>> fabs(-123.0)123.0
代码块
  • 1
  • 2
  • 3
  • 在第 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
  • 2
  • 3
  • 在第 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
  • 2
  • 3
  • 4
  • 5
  • 在第 1 行,从 math 模块中导入全部的功能函数
  • 在第 2 行,使用 math 模块中定义的函数 fabs 求绝对值
  • 在第 4 行,使用 math 模块中定义的函数 sqrt 求平方根

3. 用户自定义模块

3.1 概述

本节讲解了如何自定义模块和使用模块,例子程序包括两个文件:

  • 模块 utils.py,定义了函数 max、函数 min 和变量 PI,它们是模块提供的接口
  • 主程序 main.py,使用模块的接口函数和导出变量

3.2 定义模块

编写程序 utils.py

PI = 3.14def max(a, b):
    if a > b:
        return a    else:
        return bdef min(a, b):
    if a < b:
        return a    else:
        return b
代码块
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 在第 1 行,定义了模块的导出变量 PI
  • 在第 3 行,定义了模块的导出函数 max
  • 在第 9 行,定义了模块的导出函数 min

3.3 使用模块

编写主程序 main.py注意:将 main.py 和 utils.py 放置在相同目录下:

import utilsprint(utils.PI)print(utils.max(11, 22))from utils import minprint(min(11, 22))
代码块
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 在第 1 行,引入模块 utils
  • 在第 2 行,访问模块的导出变量 PI
  • 在第 3 行,访问模块的导出函数 max
  • 在第 5 行,引入模块 utils 中的导出函数 min
  • 在第 6 行,访问模块的导出函数 min

运行程序 main.py,输出结果如下:

C:\> python main.py3.142211
代码块
  • 1
  • 2
  • 3
  • 4
  • 在第 2 行,输出 PI 的值
  • 在第 3 行,输出 max(11, 22) 的结果
  • 在第 4 行,输出 min(11, 22) 的结果


为什么选择汉码未来