[Python]파이썬 모듈 불러오는 방법 및 Math 모듈 정리

권경환·2023년 11월 19일
0

python

목록 보기
7/14
post-thumbnail

파이썬으로 코딩을 할 때 다양한 모듈을 이용해서 구현하기도 하는데 오늘은 이 모듈은 어떤식으로 불러와야하는지 그리고 코딩테스트에서 자주 사용되는 math 모듈에는 어떤 함수들을 사용할 수 있는지 알아볼 생각이다!

모듈이란?

이미 구현해놓은 파이썬 코드다른 파이썬 코드에서 사용할 수 있도록 만들어 놓은것을 모듈이라고 합니다!
한 번 구현한 함수, 상수, 변수, 클래스, 객체들을 여러 파일에 공유하여 사용할 수 있기 때문에 잘 활용하면 코드 작성 시간을 단축할 수 있습니다!

모듈의 종류

모듈의 종류는 아래와 같이 3가지로 나뉩니다.

  1. 내장모듈 : 파이썬에서 기본적으로 제공하는 모듈
    해당 모듈에는 math, random,turtle, sys, datetime 등이 있다.
  2. 제3자 라이브러리 모듈 : 제 3자가 제공하는 라이브러리를 설치할때 제공되는 모듈
    해당 모듈에는 numpy.random, matplotlib.pyplot 이 있다.
  3. 사용자 정의 모듈 : 개인이 작성한 모듈

모듈 불러오는 방법

내장 모듈을 불러오기 위해서는 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 모듈 및 사용방법

그렇다면 내장 모듈 중 하나인 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 모듈 말고도 다양한 모듈들이 있는데 기회가 되면 다른 모듈도 정리해보도록 하겠습니다~

profile
성장을 좋아하는 주니어 개발자의 블로그

0개의 댓글