Python3 math 模块
做数学运算(开方、对数、取整、三角函数等)时,Python 内置的 +、-、*、/ 常常不够用。math 模块提供大量数学常量与函数,无需安装任何第三方库,import 即可用,是数值计算的基础工具。
常用常量
import math
print(math.pi) # 输出:3.141592653589793
print(math.e) # 输出:2.718281828459045
print(math.inf) # 输出:inf(正无穷)
print(math.nan) # 输出:nan(非数值)
取整与数值函数
| 函数 | 作用 | 示例 |
|---|---|---|
| math.ceil(x) | 向上取整 | ceil(2.1) = 3 |
| math.floor(x) | 向下取整 | floor(2.9) = 2 |
| math.trunc(x) | 截断小数部分 | trunc(-2.9) = -2 |
| math.fabs(x) | 绝对值(浮点) | fabs(-3) = 3.0 |
| math.fmod(a, b) | 浮点取余 | fmod(7, 3) = 1.0 |
| math.pow(a, b) | 幂运算 | pow(2, 3) = 8.0 |
| math.sqrt(x) | 平方根 | sqrt(9) = 3.0 |
| math.exp(x) | e 的 x 次方 | exp(1) = 2.718... |
| math.log(x) | 自然对数 | log(e) = 1.0 |
| math.log10(x) | 以 10 为底对数 | log10(100) = 2.0 |
函数使用示例
import math
print(math.ceil(3.2)) # 输出:4
print(math.floor(3.8)) # 输出:3
print(math.fabs(-5.5)) # 输出:5.5
print(math.sqrt(16)) # 输出:4.0
print(math.log10(1000)) # 输出:3.0
print(math.log(math.e)) # 输出:1.0
三角函数
三角函数默认用弧度制,度数要先经 math.radians() 转成弧度:
import math
print(math.sin(math.pi / 2)) # 输出:1.0
print(math.cos(0)) # 输出:1.0
print(math.sin(math.radians(30))) # 输出:0.49999999999999994(30 度)
# 反解角度:atan 的弧度结果转回度数
print(math.degrees(math.atan(1))) # 输出:45.0
与内置函数配合
绝对值、幂、四舍五入等 Python 内置函数也能完成,不必都依赖 math:
import math
print(abs(-5)) # 内置绝对值,输出:5
print(round(3.14159, 2)) # 内置四舍五入保留 2 位,输出:3.14
print(pow(2, 10)) # 内置幂运算,输出:1024
print(math.ceil(3.14159)) # math 向上取整,输出:4
print(max(math.pi, math.e)) # 输出:3.141592653589793
print(min(math.pi, math.e)) # 输出:2.718281828459045
random 模块简介
random 模块与 math 无关,它负责产生随机数,常用于模拟、抽样、游戏等场景,下一节会专门讲解。
小结
math 模块专攻数学函数:取整、绝对值、开方、对数、三角等一应俱全。日常四舍五入用内置 round 即可,需要科学计算时再引入 math。