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


137

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


6
아니요,이 모든 모듈이 상수를 제공한다는 사실은 그 이유가 있음을 알려줍니다.
Douglas B. Staple

3
항상 모든 것을 사용하지는 않기 때문에 Pi를 얻기 위해 모듈을 설치하고 가져 오기를 원하지 않습니다.
Lev Levitsky

11
@LevLevitsky 방금 파이썬을 사용하기 시작했으며 math.exp와 numpy.exp 사이에 차이가 있음을 알았습니다 (numpy.exp는 목록을 취할 수 있지만 math.exp는 부동을 원합니다). 그래서 나는 그것이 멍청한 질문이라고 생각하지 않았다 ...
Douglas B. Staple

답변:


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

중요하지 않습니다. 모두 같은 값입니다.

세 모듈 모두가 pi가치를 제공하는 유일한 이유 는 세 모듈 중 하나만 사용하는 경우 다른 모듈을 가져 오지 않고도 편리하게 pi에 액세스 할 수 있기 때문입니다. 그들은 파이에 대해 다른 가치를 제공하지 않습니다.


15
다른 모든 것들은 동일 math.pi합니다. 모듈이 의존하지 numpy않거나 scipy그렇지 않으면 표준 라이브러리에 있기 때문에 간단하게 사용합니다. 그러나 말했듯이 가져 오는 모듈 중 하나가 pi이므로 모두 같은 가치.
mgilson

3
이미 numpy use를 사용 np.pi하고 있지만에 pi있을 때만 NumPy를 가져 오는 것은 의미가 없습니다 math.
asmeurer

42

주목해야 할 것은 물론 모든 라이브러리가 pi에 대해 동일한 의미를 사용하는 것은 아니므로 사용중인 것을 아는 것은 결코 아프지 않습니다. 예를 들어, 기호 수학 라이브러리 Sympy의 pi 표현은 math 및 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

9
sympy Pi는 상수 / 부동으로 저장되지 않고 상수를 포함하는 객체입니다
Naib

22
sympy는 기호 수학을 수행하기 위해 정확히 pi로 상징적으로 표현됩니다. 다른 하나는 부동 소수점 수학을 수행하기위한 부동 소수점 근사치입니다.
endolith
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.