파이썬으로 코딩을 할 때 다양한 모듈을 이용해서 구현하기도 하는데 오늘은 이 모듈은 어떤식으로 불러와야하는지 그리고 코딩테스트에서 자주 사용되는 math 모듈에는 어떤 함수들을 사용할 수 있는지 알아볼 생각이다!
이미 구현해놓은 파이썬 코드를 다른 파이썬 코드에서 사용할 수 있도록 만들어 놓은것을 모듈이라고 합니다!
한 번 구현한 함수, 상수, 변수, 클래스, 객체들을 여러 파일에 공유하여 사용할 수 있기 때문에 잘 활용하면 코드 작성 시간을 단축할 수 있습니다!
모듈의 종류는 아래와 같이 3가지로 나뉩니다.
- 내장모듈 : 파이썬에서 기본적으로 제공하는 모듈
해당 모듈에는 math, random,turtle, sys, datetime 등이 있다.- 제3자 라이브러리 모듈 : 제 3자가 제공하는 라이브러리를 설치할때 제공되는 모듈
해당 모듈에는 numpy.random, matplotlib.pyplot 이 있다.- 사용자 정의 모듈 : 개인이 작성한 모듈
내장 모듈을 불러오기 위해서는 import 모듈명
으로 불러올 수 있습니다.
import math
test = math.sqrt(4) # 제곱근 구하는 함수
print(test) # 2.0
제3자 라이브러리 모듈을 불러오기 위해서는 import 모듈명 as 별칭
으로 불러올 수 있습니다.
import numpy as np
test = np.random.randn(1, 2) # 난수 matrix array생성 함수
print(test) # [[0.27939193 0.78855988]]
그렇다면 내장 모듈 중 하나인 math 모듈은 무엇일까?
다양한 수학 함수들을 이용하여 더 복잡한 산술연산에 사용되는 모듈입니다.
저는 이걸 코딩테스트를 할 때 골드바흐의 추측(17103번), 베르트랑 공준(4948번) 할 때 접하게 되었는데 간편하게 이용했던 기억이 납니다.
math 모듈에서 주로 사용되는 함수들을 정리해봤습니다!
math.ceil(x)
x 값을 올림해서 반환합니다.import math test = math.ceil(3.3) print(test) # 4
math.floor(x)
x 값을 내림해서 반환합니다.import math test = math.floor(3.7) print(test) # 3
math.factorial(x)
1부터 x값 까지 모두 곱하는 값을 반환합니다.import math test = math.factorial(4) # 1 x 2 x 3 x 4 = 24 print(test) # 24
math.gcd(x,y)
x와 y의 최대 공약수를 반환합니다.import math test = math.gcd(10,20) print(test) # 10
math.sqrt(x)
x의 제곱근을 반환합니다.import math test = math.sqrt(9) print(test) # 3.0
math.modf(x)
x의 값을 정수와 소수 부분으로 분리하여 반환합니다.import math test = math.modf(3.14) print(test) # (0.14000000000000012, 3.0)
math.log(x,y)
x,y의 y를 밑으로 하는 log x에 대한 로그 값을 리턴한다.import math test = math.log(10, 10) print(test) # 1.0
math.radians(x)
x를 라디안 값으로 반환합니다.import math test = math.radians(90) print(test) # 1.5707963267948966
math.pow(x, y)
x에 y 승을 계산한 결과값을 반환합니다.import math test = math.pow(3,2) print(test) # 9.0
요즘 백준 사이트에서 math 모듈을 이용한 문제들을 많이 풀고 있는데 한 번쯤 이렇게 정리해보고 싶어서 글을 올려보네요.
math 모듈 말고도 다양한 모듈들이 있는데 기회가 되면 다른 모듈도 정리해보도록 하겠습니다~