programing

scipy.pi, numpy.pi 또는 math.pi를 사용해야 합니까?

javajsp 2023. 7. 18. 21:31

scipy.pi, numpy.pi 또는 math.pi를 사용해야 합니까?

SciPy와 NumPy를 사용하는 프로젝트에서, 제가 사용해야 합니까?scipy.pi,numpy.pi또는math.pi?

>>> import math
>>> import numpy as np
>>> import scipy
>>> math.pi == np.pi == scipy.pi
True

그래서 중요하지 않습니다, 그것들은 모두 같은 가치가 있습니다.

3개 모듈이 모두 다음 기능을 제공하는 유일한 이유는pi세 개의 모듈 중 하나만 사용하는 경우 다른 모듈을 가져오지 않고도 편리하게 pi에 액세스할 수 있습니다.그들은 파이에 다른 값을 제공하지 않습니다.

한 가지 주의할 점은 물론 모든 라이브러리가 pi에 대해 동일한 의미를 사용하지는 않을 것이기 때문에 사용자가 무엇을 사용하는지 아는 것이 결코 나쁘지 않다는 것입니다.예를 들어 심볼릭 수학 라이브러리 Sympy의 pi 표현은 수학과 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

소스 코드를 보면,scipy.pi정확하게는math.pi사실, 그것은 다음과 같이 정의됩니다.

import math as _math
pi = _math.pi

그들의 소스 코드에서math.pi다음과 같도록 정의됩니다.3.14159265358979323846그리고.numpy.pi다음과 같도록 정의됩니다.3.141592653589793238462643383279502884둘 다 파이썬에서 플로트의 15자리 정확도보다 훨씬 높기 때문에 어떤 것을 사용하든 상관없습니다.

즉, 아직 numpy 또는 scipy를 사용하지 않는 경우, 단지 다음을 위해 가져오기.np.pi또는scipy.pi불필요한 의존성을 추가할 수 있지만mathPython 표준 라이브러리이므로 종속성 문제가 없습니다.예를 들어, 다음과 같은 경우pi파이썬의 텐서플로 코드에서, 누군가는 사용할 수 있습니다.tf.constant(math.pi).

언급URL : https://stackoverflow.com/questions/12645547/should-i-use-scipy-pi-numpy-pi-or-math-pi