Python数学库独立于C数学库和平台独立?

时间:2009-07-21 15:46:57

标签: python

内置的Python数学库基本上是使用C的数学库吗?还是Python有一个独立于C的数学库?此外,Python数学库平台是独立的吗?

2 个答案:

答案 0 :(得分:5)

位于the page it says的底部:

  

注意: math模块主要包含围绕平台C math库函数的瘦包装器。异常情况下的行为由C标准松散地指定,并且Python从平台C实现继承了其大部分math - 函数错误报告行为。因此,在错误情况下引发的特定异常(甚至某些参数被认为是特殊的)都没有以任何有用的跨平台或交叉发布方式定义。例如,math.log(0)返回-Inf或提升ValueErrorOverflowError是否未定义,以及math.log(0)提升OverflowError的情况,{ {1}}可能会提升math.log(0L)

     

如果至少有一个参数是ValueError,则所有函数都返回一个安静的NaN。信令NaN引发异常。异常类型仍取决于平台和libm实现。 NaN通常为ValueErrorEDOM通常为OverflowError

     

在2.6版本中更改:在早期版本的Python中,以errno ERANGE作为输入的操作的结果取决于平台和NaN实现。

答案 1 :(得分:2)

Python使用它链接的C库。在Windows上,没有'平台C库'..并且确实在任何版本上都有多个版本的MicrosoftCRunTimeLibrarys(MSCRT)。