欢迎加入 Python 官方文档翻译团队:https://www.transifex.com/python-doc/
math 模块官方文档:https://docs.python.org/3/library/math.html
math 模块包含的函数按照用途可分为:数论与表示函数、幂函数与对数函数、三角函数、角度转换、双曲函数、特殊函数和常量
math 模块包含的部分函数如下:(最常用的函数已用红色标识)
数论与表示函数 |
函数 | 功能 |
---|---|
ceil(x) | 对浮点数 x 向上取整,即大于或等于 x 的最小整数,返回整形值 |
floor(x) | 对浮点数 x 向下取整,即小于或等于 x 的最大整数,返回整形值 |
copysign(x, y) | 返回与 y 同号的 x 值,类型为浮点数 |
fabs(x) | 对数 x 求绝对值,返回浮点数 |
factorial(x) | 对数 x 求 x! ,即 x 的阶乘,返回整数 |
fmod(x, y) | 求 x/y 的余数,fmod() 与 % 类似,不同的是,fmod 以 x 来决定余数的符号,% 以 y 来决定余数的符号 |
frexp(x) | 返回一个由 x 的尾数和指数组成的元组 (m,e) 计算方式:x 分别除以 0.5 和 1,得到一个值的范围 2e 的值要在这个范围之内,e 为符合要求的最大整数值,x/2e 得到 m 的值 如果 x 等于 0,则 m 和 e 的值都为 0,m 的绝对值的范围为 (0.5,1) 之间,不包括 0.5 和 1 |
fsum(iterable) | 对迭代器里的每个元素进行求和操作,返回浮点数 |
gcd(x, y) | 求整数 x 和 y 的最大公约数,gcd(0, 0) 返回 0 |
isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0) | 若 a 和 b 的值比较接近则返回 True ,否则返回 False rel_tol :最大相对容差,是 a 和 b 之间允许的最大差值,如要设置5%的容差,则 rel_tol=0.05 默认容差为 1e-09 ,确保两个值在大约 9 位十进制数字内相同。rel_tol 必须大于零abs_tol :最小绝对容差:对于接近零的比较很有用。 abs_tol 必须至少为零如果没有错误发生,结果将是: abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol) |
isfinite(x) | 如果 x 不是无穷大,则返回 True ,否则返回 False (注意 0.0 被认为是有限的) |
isinf(x) | 如果 x 是正无穷大或负无穷大,则返回 True ,否则返回 False |
isnan(x) | 如果 x 不是数字,则返回 True ,否则返回 False |
ldexp(x, i) | 返回 x * (2i) 的值。是函数 frexp() 的反函数 |
modf(x) | 返回由 x 的小数部分和整数部分组成的元组 |
remainder(x, y) | 返回 IEEE 754 风格的 x 相对于 y 的余数 对于有限 x 和有限非零 y ,这是差异 x - n * y ,其中 n 是与商 x / y 的精确值最接近的整数 如果 x / y 恰好位于两个连续整数之间,则最近的 * even* 整数用于 n 余数 r = remainder(x, y) 因此总是满足 abs( r ) <= 0.5 * abs(y) 特殊情况遵循IEEE 754:特别是 remainder(x, math.inf) 对于任何有限 x 都是 x 而 remainder(x, 0) 和 remainder(math.inf, x) 引发 ValueError 适用于任何非NaN的 x 如果余数运算的结果为零,则该零将具有与 x 相同的符号 在使用IEEE 754二进制浮点的平台上,此操作的结果始终可以完全表示:不会引入舍入错误 |
trunc(x) | 对浮点数 x 取整(舍去小数部分),返回整形值trunc(x) 函数功能与 // 整除的结果类似,区别在于 trunc(x) 函数返回的值为整形,而 // 整除返回的值是浮点型 |
幂函数与对数函数 |
函数 | 功能 |
---|---|
exp(x) | 返回 e x,即 e 次 x 幂,其中 e = 2.718281… 是自然对数的基数,这通常比 math.ex 或 pow(math.e, x) 更精确 |
expm1(x) | 返回 e x-1,即 e 的 x 次幂减 1,其中 e = 2.718281… 是自然对数的基数 |
log(x[, base]) | 返回 x 的自然对数,默认以 e 为基数,base 参数给定时,将 x 的对数返回给定的 base,计算式为:log(x)/log(base) |
log1p(x) | 返回 x+1 的自然对数 (基数为e) 的值 |
log2(x) | 返回 x 以 2 为底的对数,通常比 log(x, 2) 更准确 |
log10(x) | 返回 x 底为10的对数,通常比 log(x, 10) 更准确 |
pow(x, y) | 返回 x 的 y 次幂,即 xy |
sqrt(x) | 返回 x 的平方根 |
三角函数 |
函数 | 功能 |
---|---|
cos(x) | 返回 x 弧度的余弦值 |
sin(x) | 返回 x 弧度的正弦值 |
tan(x) | 返回 x 弧度的正切值 |
acos(x) | 以弧度为单位返回 x 的反余弦值 |
asin(x) | 以弧度为单位返回 x 的反正弦值 |
atan(x) | 以弧度为单位返回 x 的反正切值 |
atan2(y, x) | 以弧度为单位返回 atan(y / x) ,结果在 -pi 和 pi 之间 从原点到点 (x, y) 的平面矢量使该角度与正X轴成正比 atan2() 的点的两个输入的符号都是已知的,因此它可以计算角度的正确象限 例如, atan(1) 和 atan2(1, 1) 都是 pi/4 ,但 atan2(-1, -1) 是 -3*pi/4 |
hypot(x, y) | 返回欧几里德范数,sqrt(x*x + y*y) ,这是从原点到点 (x, y) 的向量长度 |
角度转换 |
函数 | 功能 |
---|---|
degrees(x) | 将角度 x 从弧度转换为度数 |
radians(x) | 将角度 x 从度数转换为弧度 |
双曲函数(基于双曲线而非圆来对三角函数进行模拟) |
函数 | 功能 |
---|---|
acosh(x) | 返回 x 的反双曲余弦值 |
asinh(x) | 返回 x 的反双曲正弦值 |
atanh(x) | 返回 x 的反双曲正切值 |
cosh(x) | 返回 x 的双曲余弦值 |
sinh(x) | 返回 x 的双曲正弦值 |
tanh(x) | 返回 x 的双曲正切值 |
特殊函数 |
函数 | 功能 |
---|---|
erf(x) | 可用于计算传统的统计函数,如 累积标准正态分布 |
erfc(x) | 返回 x 处的互补误差函数。 互补错误函数 定义为 1.0 - erf(x)。 它用于 x 的大值,从其中减去一个会导致 有效位数损失 |
gamma(x) | 返回 x 处的 伽马函数值 |
lgamma(x) | 返回 Gamma 函数在 x 绝对值的自然对数 |
常量 |
函数 | 功能 |
---|---|
math.pi | 数学常数 π = 3.141592…,精确到可用精度 |
math.e | 数学常数 e = 2.718281…,精确到可用精度 |
math.tau | 数学常数 τ = 6.283185…,精确到可用精度,Tau 是一个圆周常数,等于 2π,圆的周长与半径之比 |
math.inf | 浮点正无穷大(对于负无穷大,使用 -math.inf )相当于 float('inf') 的输出 |
math.nan | 浮点非数字(NaN)值,相当于 float('nan') 的输出 |