math,cmath 模块,提供了用C标准定义的数学函数,简单说就是效率较高,cmath 不仅有 math 的功能,还增加了计算复数的函数。这两个模块返回的值基本上为 float 类型,除非明确指出返回整数。其实这些数学函数在 numpy 模块里也实现了,区别在于 numpy 更注重对一个数组的计算,单个数值计算时不如 math 模块
模块函数:
ceil(x):返回最小的大于等于x的数,向上取整
floor(x):向下取整
copysign(x, y):将 y 的符号拷贝给 x
fabs(x):返回绝对值
factorial(x):返回阶乘
fmod(x, y):取余,结果符号和 x 相同。而 x%y 的结果符号和 y 相同,对于整数之间的取余运算,用 % 会更好
fsum(iterable):精确的求和,避免精度流失,优于内置的 sum 函数
isinf(x):判断是否为无穷
isnan(x):判断是否为 NAN
modf(x):返回 x 的小数部分和整数部分(float类型)
trunc(x):返回 x 的整数部分(整形)
exp(x):返回 e**x
expm1(x):返回 e**x - 1
log(x[, base]):默认返回自然对数结果,设置了 base,实际上运算为 log(x)/log(base)
log10(x):底数为10的对数,比 log(x, 10) 精确
pow(x, y):返回 x**y,对于整数之间的次方运算,直接使用 ** 或内置的 pow() 更好
sqrt(x):x 的平方根
degrees(x):弧度转角度
radians(x):角度转弧度
此外还有所有的三角函数运算
模块定义的常数有 math.pi 和 math.e