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.