Language/Python

[Python] 파이썬에서 제곱 구하기-pow(), math.pow(), ** 의 차이

Deveun 2021. 5. 6. 02:19

먼저 내장함수 pow() 와 math.pow() 는 다음과 같이 다른 함수임을 알 수 있다.

import math
print(pow is math.pow)
# >>> False 

 

파이썬에서 제곱을 구하는 세가지 방법의 차이를 비교해보자.

 

1. 내장함수 pow(base, exp [, mod] )

[특징 1] 밑, 지수, (옵션: 나머지계산) 을 파라미터로 받을 수 있다.

--> math.pow에서는 세번째 옵션 파라미터를 받을 수 없다.

--> pow(base, exp, mod) 로 쓰였을 때, 결과는 (base ** exp) % mod 와 동일하다.

(단, 이때 base, exp는 정수형이어야함)

 

[특징 2] pow의 결과값은 파라미터의 type에 따라 결정된다.

    print(pow(12,2))	# >>> 144
    print(pow(12.0,2))	# >>> 144.0
    print(pow(12,2.0))	# >>> 144.0

 

2. math.pow(base, exp)

[특징 1] math.pow의 결과값은 항상 float이다.

    import math
    
    print(math.pow(12,2))	# >>> 144.0
    print(math.pow(12.0,2))	# >>> 144.0
    print(math.pow(12,2.0))	# >>> 144.0

 

3. base ** exp

--> 결과는 위 두 함수와 동일하나, 성능 측면에서 가장 속도가 빠르다.

( 결과 값 type은 base, exp의 타입에 따라 결정됨)


[참고] taejin0527.github.io/[object%20Object]/PY-pow-vs-mathpow/

 

(PYTHON) pow() vs math.pow()

Reference Difference between pow() and math.pow()- stackoverflow.com Python pow - journaldev.com 파이썬에서 제곱을 할때요 - edu.groom.io Built-in pow() - Python Documentation Math pow() - Python Documentation

taejin0527.github.io

 

'Language > Python' 카테고리의 다른 글

[Python] 4_클래스  (0) 2021.05.06
[Python] 파이썬에서 음수의 "//" 연산(Floor Division) 이 다른 값을 가지는 이유  (0) 2021.05.06
[Python] 3_함수  (0) 2021.05.03
[Python] 2_제어문  (0) 2021.05.02
[Python] 1_자료형  (0) 2021.04.29