web-dev-qa-db-fra.com

Devrais-je utiliser scipy.pi, numpy.pi ou math.pi?

Dans un projet utilisant SciPy et NumPy, dois-je utiliser scipy.pi, numpy.pi ou math.pi?

124
Douglas B. Staple
>>> import math
>>> import numpy as np
>>> import scipy
>>> math.pi == np.pi == scipy.pi
True

Donc, peu importe, ils ont tous la même valeur.

La seule raison pour laquelle les trois modules fournissent une valeur pi est que si vous utilisez un seul des trois modules, vous pouvez facilement avoir accès à pi sans avoir à importer un autre module. Ils ne fournissent pas des valeurs différentes pour pi.

183
BrenBarn

Une chose à noter est que pas toutes les bibliothèques utiliseront le même sens pour pi, bien sûr, donc il n’est jamais inutile de savoir ce que vous utilisez. Par exemple, la représentation symbolique de pi par Sympy dans la bibliothèque de mathématiques symboliques est différente de math et 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
41
jbay