라이브러리, 패키지, 모듈

애늙은이·2023년 8월 4일
0
post-thumbnail

파이썬을 하다보면 라이브러리, 패키지, 모듈에 관한 이야기를 듣곤 합니다. 이 세 가지 개념은 중요하게 쓰이면서도 헷갈리기 때문에 정확한 개념을 갖는 것이 중요합니다.
이번 시간에는 라이브러리, 패키지, 모듈에 대한 개념과 차이점을 다뤄보겠습니다.

결론부터 말하자면, 라이브러리,패키지,모듈의 관계는 다음과 같습니다.

하나씩 살펴보겠습니다.

📜 모듈이란?

모듈(module)은 프로그램의 일부 기능을 담당하는 파일 하나를 말합니다. 즉, .py 파일 하나가 모듈 하나라고 볼 수 있죠. 주로 기능에 필요한 함수나 변수, 클래스 등이 담겨있습니다.

때문에 우리가 어떤 프로젝트를 한다고 하면, 생각하고자 하는 기능들을 모듈들로 만들어 main.py와 같은 실행 파일에서 모듈들을 불러와 사용합니다.

📕 패키지란?

패키지(package)란 기능과 관련된 모듈들을 모은 폴더를 말합니다. 큰 프로젝트에서는 여러 모듈들을 사용하기 때문에 비슷한 모듈끼리 묶어 관리할 필요가 있습니다. 때문에 패키지를 사용하여 모듈들을 분류하고 정리합니다.

📚 라이브러리란?

라이브러리(library)는 여러 패키지들과 모듈들을 모아둔 것을 의미합니다. 일종의 코드가 담긴 선물상자인거죠. 라이브러리는 크게 두 가지로 나뉩니다.

종류개념
표준 라이브러리파이썬 설치 시 같이 설치되는 라이브러리입니다.(ex. os, time, random 등)
외부 라이브러리별도의 설치가 필요한 라이브러리입니다. (ex. pandas, numpy 등)

✔ 라이브러리 설치

이처럼 라이브러리는 프로그래밍을 할 때 유용하게 쓰이는 기능들을 모아놨기 때문에 자주 사용됩니다. 하지만 표준 라이브러리가 아닌 이상 별도의 설치가 필요하죠.

코랩에서 라이브러리 설치는 다음과 같은 방법으로 가능합니다.
%pip install 라이브러리명

라이브러리 설치가 완료되면 파이썬 코드를 짜면서 해당 라이브러리를 가져와 사용할 수 있습니다.

💡 import

이러한 모듈, 패키지, 라이브러리를 파이썬에서 가져올 때는 import를 사용합니다. 사용법은 다음과 같습니다.

import 파일명

만약, random 라이브러리의 choice() 함수를 사용하고 있다면 다음과 같이 작성할 수 있습니다.

import random

lst = [1,2,3,4,5]

print(random.choice(lst))


# 결과
# lst의 무작위 원소 하나가 출력됩니다.

이렇듯, 사용할 때는 파일명.함수명()의 형태로 사용합니다.

💡 from

파일명을 쓰지 않고, 함수명만 쓰고 싶을 때는 from을 사용합니다.

from 파일명 import 함수명

앞선 choice() 함수를 from을 사용하여 나타내면 다음과 같습니다.

from random import choice

lst = [1,2,3,4,5]

print(choice(lst))

복잡한 패키지 구조를 가진 경우, .을 붙여 함수의 경로를 상세히 적을 수도 있습니다.

from nltk.tokenize import word_tokenize

# 외부 라이브러리이기에 별도의 설치가 필요합니다.

또한, random 라이브러리의 모든 요소를 사용하고 싶을 때는 *을 사용합니다.

from random import *

lst = [1,2,3,4,5]

print(choice(lst))
profile
글쓰는 개발자입니다.

0개의 댓글