Должен ли я использовать scipy.pi, numpy.pi или math.pi?

В проекте, использующем SciPy и NumPy, следует использовать scipy.pi, numpy.pi или math.pi?

Ответ 1

>>> import math
>>> import numpy as np
>>> import scipy
>>> math.pi == np.pi == scipy.pi
True

Итак, это не имеет значения, они все одинаковые.

Единственная причина, по которой все три модуля обеспечивают значение pi, так что, если вы используете только один из трех модулей, вы можете легко получить доступ к pi без необходимости импорта другого модуля. Они не предоставляют разные значения для pi.

Ответ 2

Следует отметить, что не все библиотеки будут использовать то же значение для 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