该模块提供了由C语言标准定义的数学函数。
还有一个模块叫cmath,其中定义的方法和属性与math模块基本相同,只是cmath适用于复数(complex)。
常用属性
名称 | 值 |
---|
math.pi | 3.141592653589793 |
math.e | 2.718281828459045 |
math.inf | inf |
math.nan | nan |
math.tau | 6.283185307179586 |
*注:*对于无穷数除了用math.inf,还可以用float(‘inf’)表示正无穷;-float(‘inf’)或float(’-inf’)表示负无穷。
常用方法
三角函数
三角函数返回结果为弧度值。
名称 | 含义 |
---|
math.acos(x) | 反余弦 |
math.acosh(x) | 反双曲余弦 |
math.asin(x) | 反正弦 |
math.asinh(x) | 反双曲余弦 |
math.atan(x) | 反正切 |
math.atan2(x,y) | x/y的反正切,与atan(y/x)不同,x和y的符号均被考虑 |
math.atanh(x) | 反双曲正切 |
math.cos(x) | 余弦 |
math.cosh(x) | 双曲余弦 |
math.sin(x) | 正弦 |
math.sinh(x) | 双曲正弦 |
math.tan(x) | 正切 |
math.tanh(x) | 双曲正切 |
math.degrees(x) | 将弧度值转为角度值 |
math.radians(x) | 将角度值转为弧度值 |
取整、取小数的函数
名称 | 含义 |
---|
math.ceil(x) | 返回不小于x的整数,即:向上取整 |
math.floor(x) | 返回不大于x的整数,即:向下取整 |
math.trunc(x) | 返回整数部分,和int等效 |
math.modf(x) | 返回小数和整数部分,都为浮点数,都带x的符号 |
指数、对数函数
名称 | 含义 |
---|
math.exp(x) | 以e为底的指数 |
math.expm1(x) | 以e为底的指数后减1,对x较小的情况进行精确计算 |
math.log(x[, base]) | 返回底为base的对数,默认为e |
math.log10(x) | 底为10的对数 |
math.log2(x) | 底为2的对数 |
math.log1p(x) | 返回1+x的自然对数(底为e),对x接近零的结果进行精确计算 |
判断函数
名称 | 含义 |
---|
math.isfinite(x) | 判断x是否有限(非inf,非nan) |
math.isinf(x) | 判断x是否是无穷 |
math.isnan(x) | 判断x是否是NaN(Not a Number) |
math. isclose(a,b, rel_tol=1e-09, abs_tol=0.0) | 判断两个浮点数值是否接近。rel_tol表示最大相对差异,abs_tol表示最大绝对差异。*注:*nan和谁都不接近;inf只和自己接近 |
其他函数
名称 | 含义 |
---|
math.fabs(x) | 绝对值 |
math.gcd(x,y) | x和y的最大公约数 |
math.sqrt(x) | 平方根 |
math.factorial(x) | x的阶乘,若x负数或小数,则报错 |
math.hypot(x,y) | 欧氏距离,即:sqrt(x*x + y*y) |
math.pow(x,y) | x的y次方 |
math.fmod(x,y) | x对y取余,根据C平台计算,结果可能与x%y不同 |
math.fsum(iterable) | 返回浮点数之和的精确值 |
math.ldexp(x,i) | x * (2**i) |
math.frexp(x) | ldexp的反函数,返回x的尾数和指数 |
math.gamma(x) | x处的Gamma函数 |
math.lgamma(x) | x处Gamma函数的绝对值的自然对数 |
math.erf(x) | x处的误差函数 |