In un progetto utilizzando SciPy e NumPy, dovrei usare scipy.pi
, numpy.pi
o math.pi
?
In un progetto utilizzando SciPy e NumPy, dovrei usare scipy.pi
, numpy.pi
o math.pi
?
Risposte:
>>> import math
>>> import numpy as np
>>> import scipy
>>> math.pi == np.pi == scipy.pi
True
Quindi non importa, hanno tutti lo stesso valore.
L'unico motivo per cui tutti e tre i moduli forniscono un pi
valore è quindi se si utilizza solo uno dei tre moduli, è possibile avere comodamente accesso a pi senza dover importare un altro modulo. Non stanno fornendo valori diversi per pi.
math.pi
semplicemente perché è nella libreria standard se il modulo non dipende numpy
o scipy
meno - Ma come dici, usa pi in qualunque modulo che stai importando per cominciare perché sono lo stesso valore.
np.pi
, ma non ha senso importare NumPy solo per pi
quando è dentro math
.
Una cosa da notare è che non tutte le librerie useranno lo stesso significato per pi, ovviamente, quindi non fa mai male sapere cosa stai usando. Ad esempio, la rappresentazione matematica simbolica di pi di Sympy non è la stessa di matematica e 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