python | math --- 数学函数

这些函数不适用于复数;如果你需要计算复数,请使用 cmath 模块中的同名函数。

常用数论与表示函数

math.ceil(x)

返回 x 的上限,即大于或者等于 x 的最小整数。如果 x 不是一个浮点数,则委托 x.__ceil__(), 返回一个 Integral 类的值。

math.fabs(x)

返回 x 的绝对值。

math.factorial(x)

以一个整数返回 x 的阶乘。 如果 x 不是整数或为负数时则将引发 ValueError

3.9 版后已移除: 接受具有整数值的浮点数 (例如 5.0) 的行为已被弃用。

math.floor(x)

返回 x 的向下取整,小于或等于 x 的最大整数。如果 x 不是浮点数,则委托 x.__floor__() ,它应返回 Integral 值。

math.fmod(xy)

返回 fmod(x, y) ,由平台C库定义。请注意,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.fsum(iterable)

返回迭代中的精确浮点值。通过跟踪多个中间部分和来避免精度损失:

>>> sum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1])
0.9999999999999999
>>> fsum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1])
1.0

该算法的准确性取决于IEEE-754算术保证和舍入模式为半偶的典型情况。在某些非Windows版本中,底层C库使用扩展精度添加,并且有时可能会使中间和加倍,导致它在最低有效位中关闭。
有关待进一步讨论和两种替代方法,参见 ASPN cookbook recipes for accurate floating point summation

math.gcd(*integers)

返回给定的整数参数的最大公约数。 如果有一个参数非零,则返回值将是能同时整除所有参数的最大正整数。 如果所有参数为零,则返回值为 0。 不带参数的 gcd() 返回 0

在 3.9 版更改: 添加了对任意数量的参数的支持。 之前的版本只支持两个参数。

math.isfinite(x)

如果 x 既不是无穷大也不是NaN,则返回 True ,否则返回 False 。 (注意 0.0 被认为  有限的。)

math.isinf(x)

如果 x 是正或负无穷大,则返回 True ,否则返回 False 。

math.isnan(x)

如果 x 是 NaN(不是数字),则返回 True ,否则返回 False 。

math.lcm(*integers)

返回给定的整数参数的最小公倍数。 如果所有参数均非零,则返回值将是为所有参数的整数倍的最小正整数。 如果参数之一为零,则返回值为 0。 不带参数的 lcm() 返回 1

math.trunc(x)

返回 Real 值 x 截断为 Integral (通常是整数)。 委托给 x.__trunc__()

幂函数与对数函数

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.log10(x)

返回 x 底为10的对数。这通常比 log(x, 10) 更准确。

math.pow(xy)

将返回 x 的 y 次幂。特殊情况尽可能遵循C99标准的附录'F'。特别是, pow(1.0, x) 和 pow(x, 0.0) 总是返回 1.0 ,即使 x 是零或NaN。 如果 x 和 y 都是有限的, x 是负数, y 不是整数那么 pow(x, y) 是未定义的,并且引发 ValueError 。

与内置的 ** 运算符不同, math.pow() 将其参数转换为 float 类型。使用 ** 或内置的 pow() 函数来计算精确的整数幂。

math.sqrt(x)

返回 x 的平方根。

三角函数

math.cos(x)

返回 x 弧度的余弦值。

math.sin(x)

返回 x 弧度的正弦值。

math.tan(x)

返回 x 弧度的正切值。

常量

math.pi

数学常数 π = 3.141592...,精确到可用精度。

math.e

数学常数 e = 2.718281...,精确到可用精度。

math.inf

浮点正无穷大。 (对于负无穷大,使用 -math.inf 。)相当于 float('inf') 的输出。

math.nan

浮点“非数字”(NaN)值。 相当于 float('nan') 的输出。

参考资料

math --- 数学函数 — Python 3.10.1 文档

猜你喜欢

转载自blog.csdn.net/weixin_48419914/article/details/121877699