SciPy 및 NumPy를 사용하는 프로젝트에서 scipy.pi
, numpy.pi
또는 math.pi
을 사용해야합니까?scipy.pi, numpy.pi 또는 math.pi를 사용해야합니까?
답변
>>> import math
>>> import numpy as np
>>> import scipy
>>> math.pi == np.pi == scipy.pi
True
그래서 모두 중요하지 않습니다. 모두 같은 값입니다.
3 개의 모듈 모두에서 pi
값을 제공하는 유일한 이유는 3 개의 모듈 중 하나만 사용하는 경우 다른 모듈을 가져올 필요없이 편리하게 pi에 액세스 할 수 있습니다. 그들은 pi에 대해 다른 값을 제공하지 않습니다.
한 가지주의해야 할 점은 모두 라이브러리는 pi에 대해 동일한 의미를 사용하므로 사용하는 것을 아는 것이 결코 아프지 않습니다.
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
SymPy가 다른 값을 갖는 이유는 무엇입니까? ... ... – Roboticist
sympy는 상수/부동 소수점으로 저장되지 않습니다. 상수가 포함 된 객체입니다. – Naib
sympy는 심볼릭 연산을 위해 상징적으로 표현 된 pi입니다. 나머지는 부동 소수점 연산을 수행하는 부동 소수점 근사치입니다. – endolith
아니, 모든 모듈은 상수를 제공한다는 사실은 내가 그 몇 가지 이유가 있음을 알려줍니다 : 예를 들어, 파이의 상징적 수학 라이브러리 Sympy의 표현은 수학 및 NumPy와 동일하지 않습니다? –
항상 Pi를 사용하기 때문에 모듈을 모두 설치하고 가져 오는 것을 원하지 않기 때문입니다. –
@LevLevitsky 방금 파이썬을 사용하기 시작했고 math.exp와 numpy.exp (numpy.exp는 목록을 가져올 수 있지만 math.exp는 float을 원함)의 차이점을 발견했습니다. 그래서 나는 그것이 바보 같은 질문이라고 생각하지 않았다 ... –