math
math模块提供了对C标准定义的数学函数的访问,但这些函数不适用于复数;如果你需要计算复数,需要使用cmath模块中的同名函数。
函数 | 描述 |
---|---|
math.ceil(x) | 返回 x 的上限,即大于或者等于 x 的最小整数 |
math.floor(x) | 返回 x 的下限,即小于或者等于 x 的最大整数 |
math.fabs(x) | 返回 x 的绝对值 |
math.factorial(x) | 返回 x 的阶乘 |
math.copysign(x, y) | 返回一个基于 x 的绝对值和 y 的符合的浮点数 |
math.fsum(iterable) | 返回迭代中的精确浮点值。 |
math.gcd(a, b) | 返回整数 a 和 b 的最大公约数。 |
math.modf(x) | 返回 x 的小数和整数部分,两个结果都带有 x 的符号并且都是浮点数。 |
math.exp(x) | 返回 e 次 x 幂,其中 e = 2.718281… 是自然对数的基数;通常比 math.e ** x 或 pow(math.e, x) 更精确 |
math.log(x[, base]) | 使用一个参数,返回 x 的自然对数(底为 e ); 使用两个参数,返回给定的 base 的对数 x ,计算为 log(x)/log(base) |
math.log2(x) | 返回 x 以2为底的对数,通常比 log(x, 2) 更准确 |
math.log10(x) | 返回 x 底为10的对数,这通常比 log(x, 10) 更准确 |
math.pow(x, y) | 返回 x 的 y 次幂 |
math.sqrt(x) | 返回 x 的平方根 |
math.isfinite(x) | 判断 x 是否是有限的,即非inf、非nan |
math.isinf(x) | 判断 x 是否是无穷大(正或负) |
math.isnan(x) | 判断 x 是否是nan |
... | 三角函数、双曲函数等等 |
>>> import math
>>>
>>> data = [0.1]*10
>>> sum(data)
0.9999999999999999
>>> math.fsum(data)
1.0
常数 | 描述 |
---|---|
math.pi | 数学常数 π = 3.141592…,精确到可用精度。 |
math.e | 数学常数 e = 2.718281…,精确到可用精度。 |
math.tau | 数学常数 τ = 6.283185…,精确到可用精度。Tau 是一个圆周常数,等于 2π,圆的周长与半径之比。 |
math.inf | 浮点正无穷大,相当于float('inf') 的输出(对于负无穷大,使用 -math.inf ) |
math.nan | 浮点“非数字”(NaN)值,相当于 float('nan') 的输出 |