영벨롭 개발 일지

[Python] 모듈 vs 패키지 vs 라이브러리 본문

Programming Language/Python

[Python] 모듈 vs 패키지 vs 라이브러리

영벨롭 2022. 5. 6. 15:11

[ 모듈 Module ] 

 

 모듈(module)은 프로그램을 구성하는 작은 부품입니다. 

 

 모듈은 전역변수, 함수, 클래스 등을 모아놓은 .py 파일로, import 라는 명령으로 언제든지 재사용 가능합니다. 

 

 모듈을 사용하면 동일한 기능을 하는 함수 또는 클래스 등을 재코딩할 필요 없이 import라는 명령으로 가져와 사용하면 되기 때문에 훨씬 효율적이겠죠?

 

 

 

# module.py

def sum(a, b):
  return a + b

 

# main.py

import module

a = 1
b = 2

result = module.sum(a, b)

print(result)  # 3

 

 

 

 

 

[ 패키지 Package ] 

 

 패키지(package)는 특정 기능과 관련된 여러 모듈들을 하나의 상위 폴더에 넣어 놓은 것입니다. 

 

 기능적으로 비슷한 기능을 하거나 동일한 결과를 만들어낼 수 있는 모듈들을 한 묶음으로 나타낼 수 있습니다. 

 

 

# calc_package/add.py

def add(a, b):
  return a + b
  

# calc_package/sub.py

def substraction(a, b):
  return a - b
  
  
# calc_package/multi.py

def multiply(a, b):
  return a * b
  
  
# calc_package/div.py

def division(a, b):
  return a / b

 

# main.py

import calc_package.add
import calc_package.sub
import calc_package.multi
import calc_package.div

a = 5
b = 3

add = calc_package.add.add(a, b)
sub = calc_package.sub.substraction(a ,b)
mul = calc_package.multi.multiply(a, b)
div = calc_package.div.division(a, b)

print(add)
print(sub)
print(mul)
print(div)

 

 

 

 

 

 

[ 라이브러리 Library ] 

 

 라이브러리(library)는 여러 모듈과 패키지를 묶어놓은 집합입니다. 

 

 라이브러리와 패키지의 경계는 모호하지만, 라이브러리는 패키지보다 상위 개념이면서 모듈과 패키지를 모두 포함한 가장 넓은 개념입니다. 

 

반응형