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。

笔记加载中…