第12.3节 Python math模块导览
math 模块提供对浮点数学的底层C库函数的访问,常用的成员包括:
- math.ceil(x):返回 x 的上限,即大于或者等于 x 的最小整数
- math.floor(x):返回 x 的向下取整,小于或等于 x 的最大整数。
- math.copysign(x, y):返回一个基于 x 的绝对值和 y 的符号的浮点数。在支持带符号零的平台上,copysign(1.0, -0.0) 返回 -1.0.
- math.fabs(x):返回 x 的绝对值。
- math.factorial(x):以一个整数返回 x 的阶乘。
- math.fmod(x, y):返回x与y的余数 。请注意,Python表达式 x % y 可能不会返回相同的结果。C标准的目的是 fmod(x, y) 完全等于 x - n*y 对于某个整数 n ,使得结果具有 与 x 相同的符号和小于 abs(y) 的幅度。Python的 x % y 返回带有 y 符号的结果,并且可能不能完全计算浮点参数。 例如, fmod(-1e-100, 1e100) 是 -1e-100 ,但Python的 -1e-100 % 1e100 的结果是 1e100-1e-100 ,它不能完全表示为浮点数,并且取整为令人惊讶的 1e100 。 出于这个原因,函数 fmod() 在使用浮点数时通常是首选,而Python的 x % y 在使用整数时是首选。
- math.frexp(x):返回 x 的尾数和指数作为对
(m, e)
。 m 是一个浮点数, e 是一个整数,正好是 x == m * 2**e 。 如果 x 为零,则返回 (0.0, 0) ,否则返回 0.5 <= abs(m) < 1 。这用于以可移植方式“分离”浮点数的内部表示。 - math.fsum(iterable):返回迭代中的精确浮点值。通过跟踪多个中间部分和来避免精度损失,如:
sum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1])
0.9999999999999999fsum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1])
1.0
- 该算法的准确性取决于IEEE-754算术保证和舍入模式为半偶的典型情况。在某些非Windows版本中,底层C库使用扩展精度添加,并且有时可能会使中间和加倍,导致它在最低有效位中关闭。
- math.gcd(a, b):返回整数 a 和 b 的最大公约数。如果 a 或 b 之一非零,则 gcd(a, b) 的值是能同时整除 a 和 b 的最大正整数。gcd(0, 0) 返回 0。
- math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0):根据给定的绝对和相对容差判断 a 和 b 的值是否比较接近
- math.isnan(x):判断x是否为数字(NaN),不是数字则返回 True ,否则返回 False 。
- math.modf(x):返回 x 的小数和整数部分。两个结果都带有 x 的符号并且是浮点数。
- math.trunc(x):返回 Real 值 x 截断为 Integral (通常是整数)。
- math.exp(x):返回 e 次 x 幂,其中 e = 2.718281… 是自然对数的基数。这通常比 math.e ** x 或 pow(math.e, x) 更精确。
- math.expm1(x):返回 e 的 x 次幂,减1。这里 e 是自然对数的基数。
- math.log(x[, base]):base缺省值为e,返回给定的 base 的对数 x ,计算为 log(x)/log(base) 。
- math.log1p(x):返回 1+x (base e) 的自然对数。以对于接近零的 x 精确的方式计算结果。
- math.log2(x):返回 x 以2为底的对数。这通常比 log(x, 2) 更准确。
- int.bit_length(): 返回表示二进制整数所需的位数,不包括符号和前导零。
- math.log10(x):返回 x 底为10的对数。这通常比 log(x, 10) 更准确。
- math.pow(x, y):将返回 x 的 y 次幂。与内置的 ** 运算符不同, math.pow() 将其参数转换为 float 类型。使用 ** 或内置的 pow() 函数来计算精确的整数幂。
- math.sqrt(x):返回 x 的平方根。
- math.acos(x):以弧度为单位返回 x 的反余弦值。
- math.asin(x):以弧度为单位返回 x 的反正弦值。
- math.atan(x):以弧度为单位返回 x 的反正切值。
- math.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 。
- math.cos(x):返回 x 弧度的余弦值。
- math.hypot(x, y):返回欧几里德范数, sqrt(xx + yy) 。 这是从原点到点 (x, y) 的向量长度。
- math.sin(x):返回 x 弧度的正弦值。
- math.tan(x):返回 x 弧度的正切值。
- math.degrees(x):将角度 x 从弧度转换为度数。
- math.radians(x):将角度 x 从度数转换为弧度。
- math.acosh(x):返回 x 的反双曲余弦值。
- math.asinh(x):返回 x 的反双曲正弦值。
- math.atanh(x):返回 x 的反双曲正切值。
- math.cosh(x):返回 x 的双曲余弦值。
- math.sinh(x):返回 x 的双曲正弦值。
- math.tanh(x):返回 x 的双曲正切值。
- math.gamma(x):返回 x 处的 伽马函数 值。
- math.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’) 的输出。
老猿Python,跟老猿学Python!
博客地址:https://blog.csdn.net/LaoYuanPython
请大家多多支持,点赞、评论和加关注!谢谢!