수학 함수에 대한 Python의 표준 모듈인 수학을 사용하여 지수 및 로그 함수(자연 로그, 일반 로그 및 이진 로그)를 계산할 수 있습니다.
다음은 샘플 코드와 함께 여기에 설명되어 있습니다.
- 자연 로그의 밑(네이피어 수):
math.e
- 힘::
**
운영자,pow()
,math.pow()
- 제곱근(루트):
math.sqrt()
- 지수 함수(자연 지수 함수):
math.exp()
- 로그 함수:
math.log()
,math.log10()
,math.log2()
자연 로그의 밑(네이피어 수):math.e
자연 로그의 밑수(네이피어 수)는 math.e로 표시되는 수학 모듈에서 상수로 제공됩니다.
import math
print(math.e)
# 2.718281828459045
전력: ** 연산자, pow(), math.pow():**운영자,pow(),math.pow()
거듭제곱을 계산하려면 ** 연산자, 내장 함수 pow() 또는 math.pow()를 사용하십시오.
x의 y-제곱은 다음과 같이 구합니다.
x**y
pow(x, y)
math.pow(x, y)
print(2**4)
# 16
print(pow(2, 4))
# 16
print(math.pow(2, 4))
# 16.0
math.pow()는 인수를 부동 소수점 유형으로 변환합니다. 반면에 Python의 내장 함수 pow()는 각 유형에 대해 정의된 __pow()__를 사용합니다.
예를 들어, pow()는 복합 유형을 인수로 지정할 수 있지만 math.pow()는 복합 유형을 부동 유형으로 변환할 수 없으므로 오류가 발생합니다.
print(pow(1 + 1j, 2))
# 2j
# print(math.pow(1 + 1j, 2))
# TypeError: can't convert complex to float
Python 내장 함수 pow()는 세 번째 인수인 pow(x, y, z)도 허용합니다. 이 인수는 z의 나머지(나머지)를 x의 y제곱으로 반환합니다. pow(x, y) % z와 동일한 계산이지만 pow(x, y, z)가 더 효율적입니다.
print(pow(2, 4, 5))
# 1
제곱근(루트):math.sqrt()
제곱근(루트)은 ** 또는 math.sqrt()를 사용하여 **0.5로 설정할 수 있습니다.
print(2**0.5)
# 1.4142135623730951
print(math.sqrt(2))
# 1.4142135623730951
print(2**0.5 == math.sqrt(2))
# True
math.pow()와 마찬가지로 math.sqrt()는 처리를 위해 인수를 부동 소수점 형식으로 변환하므로 부동 소수점 형식으로 변환할 수 없는 형식을 지정하면 TypeError가 발생합니다.
print((-3 + 4j)**0.5)
# (1.0000000000000002+2j)
# print(math.sqrt(-3 + 4j))
# TypeError: can't convert complex to float
또한 math.sqrt()는 음수 값을 처리할 수 없으므로 ValueError가 발생합니다.
print((-1)**0.5)
# (6.123233995736766e-17+1j)
# print(math.sqrt(-1))
# ValueError: math domain error
복소수를 다룰 때 ** 연산자를 사용하는 예는 오류를 표시하지만 cmath 모듈은 더 정확한 값을 제공합니다. 음수 값도 처리할 수 있습니다.
import cmath
print(cmath.sqrt(-3 + 4j))
# (1+2j)
print(cmath.sqrt(-1))
# 1j
지수 함수(자연 지수 함수):math.exp()
자연 로그(네이피어 수) e의 밑의 거듭제곱을 계산하려면 math.exp()를 사용하십시오.
math.exp(x)는 e의 x 제곱을 반환합니다.
math.exp(x)는 “math.e ** x”와 동일하지 않으며 math.exp(x)가 더 정확합니다.
print(math.exp(2))
# 7.38905609893065
print(math.exp(2) == math.e**2)
# False
로그 함수:math.log(),math.log10(),math.log2()
로그 함수를 계산하려면 math.log(),math.log10(),math.log2()를 사용하십시오.
math.log(x, y)는 y를 밑으로 하여 x의 로그를 반환합니다.
print(math.log(25, 5))
# 2.0
두 번째 인수를 생략하면 다음과 같이 자연 로그가 표시됩니다.
로그
수학에서 log 또는 ln으로 표시되는 자연 로그(네이피어 숫자 e를 밑으로 하는 로그)는 math.log(x)로 계산할 수 있습니다.
print(math.log(math.e))
# 1.0
로그(밑 10)
일반 로그(밑이 10인 로그)는 math.log(x, 10)보다 정확한 math.log10(x)를 사용하여 계산할 수 있습니다.
print(math.log10(100000))
# 5.0
이진 로그
이진 로그(밑이 2인 로그)는 math.log2(x)를 사용하여 계산할 수 있으며, 이는 math.log(x, 2)보다 정확합니다.
print(math.log2(1024))
# 10.0