라이브러리(모듈)의 라이브러리(패키지)
라이브러리가 모여있는 라이브러리가 있습니다. 이 둘을 구별할 필요가 있습니다. 파이썬에서는 라이브러리를 모듈(module)이라고 부르고, 모듈이 모여있는 라이브러리를 패키지(package)라고 부릅니다.
패키지안에 들어잇는 대표적인 모듈(라이브러리)의 예로 그래프를 그리는 함수가 들어있는 pyplot 모듈을 들 수 있습니다. 이 모듈을 불러올려고 아래와 같이 쓰면 에러 메시지가 나옵니다.
import pyplot
모듈이 들어가 있는 패키지가 뭔지를 알아낸 다음, 패키지 이름을 모듈 이름 앞에 쓰고 점(.)을 찍어줘야합니다. pyplot 모듈이 들어가 있는 패키지는 matplotlib 패키지 입니다. 따라서 matplotlib.pyplot을 불러와야합니다.
import matplotlib.pyplot
matplotlib는 John Hunter라는 미국인 신경생물학자가 처음 만들었습니다. 하지만 안타깝게도 44세라는 젋은 나이에 2012년에 세상을 떴습니다. 그럼에도 불구하고 matplotlib는 사람들이 가장 많이 쓰는 그래프 패키지의 하나입니다.
이제 그래프를 그릴 데이터를 만들어 보겠습니다. 목록으로 만들면 됩니다.
x = [ k for k in range(20) ] y = [ k**2 for k in range(20) ]
그동안 학습자료로 연습해 본 사람들은 이게 어떤 데이터인지 위의 코드만 봐도 쉽게 알 수 있습니다. 만약에 잘 모르겠으면 for에 대해 쓴 학습자료로 다시 연습해 보면 되겠습니다.
이 데이터를 그래프로 그릴려면 matplotlib 패키지의 pyplot 모듈안에 있는 plot이라는 함수를 아래와 같이 써서 실행하면 됩니다.
matplotlib.pyplot.plot(x, y)
그런데 jupyter notebook에서는 위의 코드를 실행해도 그래프를 볼 수 없습니다. jupyter notebook 환경에서 브라우저 창에 그래프를 보여주게 하려면 아래의 커맨드를 치고 Shift-Enter를 쳐줘야합니다.
%matplotlib inline
그런 다음 matplotlib.pyplot.plot(x, y) 실행하면 브라우저 창에 그래프가 나옵니다.
그런데 매번 plot함수를 쓰기 위해 너무 많은 글자를 키보드로 쳐야하는 것 같습니다. 이를 좀 줄일려면 다음과 같이 모듈을 불러오는 방식을 쓸 수 있습니다.
from matplotlib import pyplot
from 뒤에 쓴 패키지에서 import 다음에 쓴 모듈을 불러오는 방식으로, matplotlib라는 패키지에서 pyplot이라는 모듈을 불러옵니다.
그러면 다음과 같이 훨씬 짧게 써서 그래프를 그릴 수 있습니다.
pyplot.plot(x, y)
이보다 더 짧게 쓰려면 아래와 같이 쓰면 됩니다.
from matplotlib import pyplot as plt
그러면 pyplot을 plt로 쓸 수 있게 만듭니다.
plt.plot(x, y)
아래와 같이 써도 같은 효과가 있습니다.
import matplotlib.pyplot as plt
겉으로 드러나지는 않지만 matplotlib.pyplot를 plt로 쓸 수 있게 한다는 것이 다른점입니다.