In un progetto utilizzando SciPy e NumPy, dovrei usare scipy.pi, numpy.pio math.pi?
In un progetto utilizzando SciPy e NumPy, dovrei usare scipy.pi, numpy.pio 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 pivalore è 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.pisemplicemente perché è nella libreria standard se il modulo non dipende numpyo scipymeno - 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 piquando è 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