Python에서 숫자의 제곱근을 계산하는 가장 쉽고 일반적인 방법은 표준 라이브러리의 math 모듈에 정의된 sqrt() 함수를 사용하는 것입니다. 이 외에도 거듭제곱 연산자나 cmath 모듈 등 상황에 맞는 다양한 방법이 있으니 하나씩 살펴보겠습니다.
1. math.sqrt() 함수 사용하기
math.sqrt()는 양수의 제곱근을 계산하는 가장 기본적인 방법입니다. 인자로 전달된 숫자의 제곱근을 실수(float) 형태로 반환합니다.
>>> import math >>> math.sqrt(10) 3.1622776601683795 >>> math.sqrt(3) 1.7320508075688772 >>> math.sqrt(16) 4.0
주의할 점은 음수를 입력하면 ValueError: math domain error가 발생한다는 것입니다. 음수의 제곱근은 실수 범위에서 정의되지 않기 때문입니다.
2. 거듭제곱 연산자(**) 활용하기
math 모듈을 임포트하지 않고도 지수 연산자 **를 사용해 0.5제곱(즉, 제곱근)을 구할 수 있습니다.
>>> 10 ** 0.5 3.1622776601683795 >>> 25 ** 0.5 5.0
간단한 계산에는 이 방법이 편리하지만, 코드의 의도를 명확하게 드러내고 싶다면 math.sqrt()를 사용하는 것이 좋습니다.
3. 음수·복소수의 제곱근은 cmath 모듈로
음수의 제곱근을 계산해야 한다면 복소수를 다루는 cmath 모듈을 사용하세요.
>>> import cmath >>> cmath.sqrt(-4) 2j >>> cmath.sqrt(-9) 3j
4. 정수 제곱근이 필요하다면 math.isqrt()
Python 3.8부터는 결과를 내림하여 정수로 반환하는 math.isqrt() 함수도 제공됩니다.
>>> import math >>> math.isqrt(10) 3 >>> math.isqrt(16) 4
마무리
정리하면, 일반적인 양수의 제곱근 계산에는 math.sqrt()가 가장 권장되는 방법이며, 간단한 표현식에는 ** 0.5, 음수나 복소수에는 cmath.sqrt(), 정수 결과가 필요하면 math.isqrt()를 사용하면 됩니다. 상황에 맞는 도구를 선택해 깔끔하고 안전한 코드를 작성해 보세요.