Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 math 모듈 완전 정리: 특수 함수와 상수 활용 가이드

이번 글에서는 파이썬 표준 라이브러리의 math 모듈에서 제공하는 특수 함수(special functions)상수(constants)에 대해 자세히 알아보겠습니다.

math 모듈의 주요 상수

math 모듈은 수학 계산에 자주 쓰이는 상수들을 기본적으로 제공합니다. 대표적인 상수는 다음과 같습니다.

  • pi — 원주율(π)
  • e — 자연로그의 밑(자연상수)
  • tau — 원주율의 2배(2π)
  • inf — 양의 무한대
  • nan — 숫자가 아님(Not a Number)

각 상수의 실제 값은 아래 표와 같습니다.

상수
pi3.141592…
e2.718281…
tau6.283185…
inf∞ (무한대)
nanNaN (숫자가 아님)

math 모듈의 주요 특수 함수

상수 외에도 math 모듈은 고급 수학 연산을 위한 여러 특수 함수를 제공합니다.

  • gamma(n) — 감마 함수 값을 반환합니다. 정수 n에 대해서는 (n−1)! 팩토리얼과 같은 결과를 냅니다.
  • isinf(x) — x가 무한대(infinity)인지 여부를 검사합니다.
  • isnan(x) — x가 숫자가 아닌 값(NaN)인지 여부를 검사합니다.
  • isfinite(x) — x가 무한대도 아니고 NaN도 아니면 True를, 그렇지 않으면 False를 반환합니다.
  • erf(x) — x의 오차 함수(error function) 값을 반환합니다.

예제 코드

아래 예제는 앞서 소개한 상수와 함수들을 실제로 어떻게 사용하는지 보여줍니다.

import math
num = 10
print(math.gamma(num))

if math.isnan(math.nan):
    print("The number is not a number")
else:
    print("The number is a number")

if math.isinf(math.inf):
    print("The number is positive infinity")
else:
    print("The number is not positive infinity")

print(math.isfinite(math.inf))

실행 결과

362880.0
The number is not a number
The number is positive infinity
False

결과 해석

  • math.gamma(10)은 9!에 해당하는 362880.0을 반환합니다.
  • math.isnan(math.nan)은 True이므로 "not a number" 메시지가 출력됩니다.
  • math.isinf(math.inf)는 True이므로 "positive infinity" 메시지가 출력됩니다.
  • math.isfinite(math.inf)는 인자가 무한대이므로 False를 반환합니다.

마무리

이번 글에서는 파이썬 math 모듈의 특수 함수와 상수를 살펴보았습니다. 이러한 상수와 함수들을 잘 활용하면 과학·공학 계산, 통계 처리 등 다양한 분야에서 더욱 정확하고 효율적인 코드를 작성할 수 있습니다.