In einem Projekt mit SciPy und NumPy, soll ich verwenden scipy.pi
, numpy.pi
oder math.pi
?
In einem Projekt mit SciPy und NumPy, soll ich verwenden scipy.pi
, numpy.pi
oder math.pi
?
Antworten:
>>> import math
>>> import numpy as np
>>> import scipy
>>> math.pi == np.pi == scipy.pi
True
Es spielt also keine Rolle, sie haben alle den gleichen Wert.
Der einzige Grund, warum alle drei Module einen pi
Wert bereitstellen , besteht darin, dass Sie, wenn Sie nur eines der drei Module verwenden, bequem auf pi zugreifen können, ohne ein anderes Modul importieren zu müssen. Sie liefern keine unterschiedlichen Werte für pi.
math.pi
Wenn alle anderen Dinge gleich sind, würde ich sie einfach verwenden, weil sie in der Standardbibliothek enthalten sind, wenn das Modul nicht davon abhängt numpy
oder scipy
nicht - aber wie Sie sagen, verwenden Sie pi in jedem Modul, das Sie importieren, weil sie es sind alle den gleichen Wert.
np.pi
, ist es nicht sinnvoll, NumPy nur dann zu importieren, pi
wenn es aktiviert ist math
.
Eine Sache zu beachten ist, dass natürlich nicht alle Bibliotheken die gleiche Bedeutung für pi verwenden, so dass es nie weh tut zu wissen, was Sie verwenden. Zum Beispiel ist die symbolische Mathematikbibliothek Sympys Darstellung von pi nicht dieselbe wie Mathematik und 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