9.2. math—math 函数

此模块始终可用。它提供对 C 标准定义的 math 函数的访问。

这些函数不能与复数一起使用。如果需要支持复数,请使用cmath模块中具有相同名称的Function。支持复数的函数与不支持复数的函数之间有区别,因为大多数用户不想学习理解复数所需的 math 知识。pass接收异常而不是复杂的结果,可以更早地检测出用作参数的意外复数,以便程序员可以首先确定其生成方式和生成原因。

该模块提供以下Function。除非另有明确说明,否则所有返回值均为浮点型。

9.2.1. 数论和表示函数

2.6 版的新Function。

2.6 版的新Function。

>>> 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 食谱

2.6 版的新Function。

2.6 版的新Function。

2.6 版的新Function。

2.6 版的新Function。

请注意,frexp()modf()的调用/返回模式与 C 等效项不同:它们采用单个参数并返回Pair值,而不是pass“输出参数”返回第二个返回值(Python 中没有这样的东西) )。

对于ceil()floor()modf()函数,请注意,* all 浮点数足够大,都是精确的整数。 Python 浮点数通常不超过 53 位精度(与平台 C double 类型相同),在这种情况下,任何带有abs(x) >= 2**52的浮点 x *都必须没有小数位。

9.2.2. 幂和对数函数

>>> from math import exp, expm1
>>> exp(1e-5) - 1  # gives result accurate to 11 places
1.0000050000069649e-05
>>> expm1(1e-5)    # result accurate to full precision
1.0000050000166668e-05

2.7 版的新Function。

使用两个参数,将* x 的对数返回给定的 base *,以log(x)/log(base)计算。

在版本 2.3 中更改:添加了* base *参数。

2.6 版的新Function。

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

在 2.6 版中进行了更改:1**nannan**0的结果未定义。

9.2.3. 三角函数

9.2.4. 角度转换

9.2.5. 双曲函数

2.6 版的新Function。

2.6 版的新Function。

2.6 版的新Function。

9.2.6. 特殊Function

2.7 版的新Function。

2.7 版的新Function。

2.7 版的新Function。

2.7 版的新Function。

9.2.7. Constants

CPython 实现细节: math模块主要由围绕平台 Cmath 库函数的瘦包装组成。特殊情况下的行为应遵循 C99 标准的附录 F。当前实现将针对sqrt(-1.0)log(0.0)(其中 C99 附录 F 建议使用 signal 通知无效操作或被零除)等无效操作提高ValueError,对于溢出的结果(例如exp(1000.0))提高OverflowError。除非一个或多个 Importing 参数是 NaN,否则上述任何一个函数都不会返回 NaN;在这种情况下,大多数函数将返回 NaN,但是(同样遵循 C99 附录 F)此规则有一些 exception,例如pow(float('nan'), 0.0)hypot(float('nan'), float('inf'))

请注意,Python 不会努力将发 signal 的 NaN 与安静的 NaN 区分开,并且发 signal 的 NaN 行为仍未指定。典型的行为是将所有 NaN 视为安静。

在 2.6 版中进行了更改:特殊情况下的行为现在旨在遵循 C99 附录 F。在 Python 的早期版本中,宽松地规定了特殊情况下的行为。

See also

  • Module cmath

  • 其中许多Function的复数版本。

首页