HOWTO · Python

Python에서 무한 값 정의

이 설명을 통해 Python에서 무한 값이 무엇이며 왜 무한 값을 사용하는지 알아봅니다. 또한 Python의 다양한 방법을 사용하여 무한한 값을 정의하는 방법을 알아봅니다.

이 페이지의 내용

양의 무한대에는 float("inf")를, 음의 무한대에는 float("-inf")를 사용합니다. 이러한 내장 부동 소수점 값은 경계 없는 한계가 필요한 비교와 계산에 가장 간단한 선택입니다. Python은 또한 다양한 종류의 작업을 위해 math.inf, Decimal 무한대, numpy.inf를 제공합니다.

Python에서 무한 값을 정의하는 전통적인 방법

큰 정수는 자릿수가 아무리 많아도 여전히 유한합니다. Python의 float 생성자는 추가 모듈 없이 양의 무한대와 음의 무한대를 직접 제공합니다. 이 예제는 유한한 정수를 두 부호와 비교합니다.

large_number = 10**100
positive_infinity = float("inf")
negative_infinity = float("-inf")

print(large_number < positive_infinity)
print(negative_infinity < large_number)
print(positive_infinity)
print(negative_infinity)

계산이나 비교에서 경계 없는 한계를 나타내야 할 때 이러한 값을 사용합니다. 이는 부동 소수점 값이므로 임의로 큰 유한 정수를 저장하는 방법은 아닙니다.

Python에서 Math 모듈을 사용하여 무한 값 정의

표준 라이브러리 math 모듈은 동일한 양의 무한대를 math.inf로 제공합니다. 이를 부정하면 음의 무한대가 됩니다. 주변 코드가 이미 math를 사용하고 있을 때 이 표기는 수학 코드를 더 읽기 쉽게 만들 수 있습니다.

import math

positive_infinity = math.inf
negative_infinity = -math.inf

print(positive_infinity)
print(negative_infinity)

Python에서 Decimal() 함수를 사용하여 무한 값 정의

10진 연산에서는 Python의 decimal 모듈에서 Decimal로 무한대를 구성합니다. "Infinity"나 "-Infinity" 같은 문자열을 전달합니다. 10진 값은 10진 연산 규칙을 사용하므로 재무 또는 10진 영역 계산에 유용할 수 있습니다. Decimal을 선택한다고 해서 모든 값이나 연산이 정확해지는 것은 아닙니다.

from decimal import Decimal

positive_infinity = Decimal("Infinity")
negative_infinity = Decimal("-Infinity")

print(positive_infinity)
print(negative_infinity)

Python에서 NumPy 모듈을 사용하여 무한 값 정의

NumPy는 배열 및 과학 컴퓨팅 작업을 위해 numpy.inf를 제공합니다. NumPy는 추가 종속성입니다. 이 예제가 실행될 환경에 설치하고 가져오세요. 부정하면 해당하는 음수 값이 됩니다.

import numpy

positive_infinity = numpy.inf
negative_infinity = -numpy.inf

print(positive_infinity)
print(negative_infinity)

값이 무한한지 확인하려면 표준 라이브러리 math.isinf() 함수를 사용합니다. 이 함수는 유한한 숫자 값과 무한한 숫자 값을 허용하며 NumPy가 필요하지 않습니다.

import math

values = [12.5, math.inf, -math.inf]
for value in values:
    print(math.isinf(value))

간단한 내장 값에는 float("inf")를, math 모듈이 이미 코드의 일부일 때는 math.inf를, 10진 연산에는 Decimal을, NumPy 워크플로에서는 numpy.inf를 사용합니다. 관련 Stack Overflow 토론에서는 무한대를 나타내는 다른 방법을 다룹니다.