内置的Python数学库基本上是使用C的数学库吗?还是Python有一个独立于C的数学库?此外,Python数学库平台是独立的吗?
答案 0 :(得分:5)
位于the page it says的底部:
注意:
math
模块主要包含围绕平台Cmath
库函数的瘦包装器。异常情况下的行为由C标准松散地指定,并且Python从平台C实现继承了其大部分math
- 函数错误报告行为。因此,在错误情况下引发的特定异常(甚至某些参数被认为是特殊的)都没有以任何有用的跨平台或交叉发布方式定义。例如,math.log(0)
返回-Inf
或提升ValueError
或OverflowError
是否未定义,以及math.log(0)
提升OverflowError
的情况,{ {1}}可能会提升math.log(0L)
。如果至少有一个参数是
ValueError
,则所有函数都返回一个安静的NaN。信令NaN
引发异常。异常类型仍取决于平台和libm实现。NaN
通常为ValueError
,EDOM
通常为OverflowError
。在2.6版本中更改:在早期版本的Python中,以
errno ERANGE
作为输入的操作的结果取决于平台和NaN
实现。
答案 1 :(得分:2)
Python使用它链接的C库。在Windows上,没有'平台C库'..并且确实在任何版本上都有多个版本的MicrosoftCRunTimeLibrarys(MSCRT)。