하나부터 열까지 모두 혼자서 개발하려고 하면 엄청난 시간이 들것입니다. 그래서 시간 단축을 위해서는 모듈을 가져와 사용할 때가 많습니다. 모듈은 Python 코드를 논리적으로 묶어서 관리하고 사용할 수 있도록 합니다. 오늘은 이 모듈을 사용하는 방법과 대표적인 모듈들을 소개해드리겠습니다.
모듈을 가져오는데는 두 가지 방식이 있습니다. 모듈 전체를 불러오는 방식과 모듈 내에 필요한 것만 불러오는 방식이 있습니다.
import math # 전체
from math import pow # 일부
import
은 "가져오다" 라는 의미로 import
뒤에 오는 math
는 모듈 이름
에 해당합니다. 위의 코드에는 math
라는 수학과 관련된 함수들이 존재하는 모듈을 가져와 사용하게 해줍니다.
모듈을 import
했으니 이제는 사용을 해보겠습니다. 모듈 math
안에는 다양한 수학 함수들이 존재합니다. 그중에서 잘 알려진 팩토리얼을 사용해보겠습니다.
import math
num1 = math.factorial(8) # 40320
위의 코드처럼 모듈 내의 함수를 사용하기 위해서는 모듈명
.함수명
형식으로 작성해야합니다. 이와 다르게 함수명
만 사용하는 방식도 있습니다.
from math import pow
num2 = pow(2,5) # 32.0
위의 코드처럼 from ... import ...
형식으로 불러오면 함수명
만 사용할 수 있습니다.
from math import *
num3 = pow(2,4) # 16.0
함수명
이 있을 위치에 *
를 사용하면 모듈 내의 모든 함수를 불러올 수 있습니다. import ...
와 다른 점은 모듈명
을 입력하지 않아도 됩니다.
import numpy as np
x = np.array([1,2,3,4,5,6,7])
as
뒤에 모듈명
에게 별명을 지정해주어 편리하게 사용 가능합니다.
제가 개발하면서 자주 사용하는 모듈 몇가지를 소개하려고 합니다.
math
는 위에서도 소개했듯이 수학 관련 함수들이 내장되어있는 모듈입니다. 간단한 공식들은 직접 구현할 수 있겠지만 조금이라도 시간을 단축하기 위해서 자주 사용됩니다.
os
는 디렉터리, 파일, 환경변수 등을 관리하게 해주는 모듈입니다. 현재 작업중인 디렉터리를 변경할 때나 출력할 때 자주 사용합니다. 또한 폴더를 생성할때도 사용할 수 있습니다.
glob
은 디렉터리 내의 파일을 불러올때 사용되는 함수입니다. 예를 들어 한 폴더 내에 있는 모든 .png
파일을 불러 올때 glob
하나로 해결 가능합니다.
numpy
는 Numerical Python의 약자로 머신러닝을 위해서는 필수인 모듈입니다. 다차원 배열과 행렬을 연산하기 위한 다양한 함수들이 내장되어 있습니다.