在使用SciPy和NumPy的项目中,我应该使用scipy.pi
,numpy.pi
还是math.pi
?
答案 0 :(得分:172)
>>> import math
>>> import numpy as np
>>> import scipy
>>> math.pi == np.pi == scipy.pi
True
所以没关系,它们都是一样的价值。
所有三个模块提供pi
值的唯一原因是,如果您只使用三个模块中的一个,则可以方便地访问pi而无需导入另一个模块。他们没有为pi提供不同的价值。
答案 1 :(得分:41)
有一点需要注意的是,当然,所有库并不会对pi使用相同的含义,因此知道您正在使用的内容永远不会受到伤害。例如,符号数学库Sympy对pi的表示与数学和numpy不同:
import math
import numpy
import scipy
import sympy
print(math.pi == numpy.pi)
> True
print(math.pi == scipy.pi)
> True
print(math.pi == sympy.pi)
> False