W projekcie z wykorzystaniem scipy i NumPy, powinno się używać scipy.pi
, numpy.pi
lub math.pi
?
W projekcie z wykorzystaniem scipy i NumPy, powinno się używać scipy.pi
, numpy.pi
lub math.pi
?
Odpowiedzi:
>>> import math
>>> import numpy as np
>>> import scipy
>>> math.pi == np.pi == scipy.pi
True
Więc to nie ma znaczenia, wszystkie mają tę samą wartość.
Jedynym powodem, dla którego wszystkie trzy moduły podają pi
wartość, jest to, że jeśli używasz tylko jednego z trzech modułów, możesz wygodnie mieć dostęp do pi bez konieczności importowania innego modułu. Nie podają różnych wartości pi.
math.pi
po prostu dlatego, że znajduje się w standardowej bibliotece, jeśli moduł nie zależy od numpy
lub w scipy
inny sposób - Ale jak mówisz, użyj pi w dowolnym module, który importujesz na początku, ponieważ są one wszystkie te same wartości.
np.pi
, ale nie ma sensu importować NumPy tylko pi
wtedy, gdy jest dostępny math
.
Należy zauważyć, że oczywiście nie wszystkie biblioteki będą używać tego samego znaczenia dla pi, więc nigdy nie zaszkodzi wiedzieć, czego używasz. Na przykład symboliczna biblioteka matematyczna reprezentacja pi przez Sympy nie jest tym samym, co matematyka i 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