파이썬의 모듈(module)과 패키지(package)
Language/Python2024. 8. 23. 12:13파이썬에서 모듈(module
)과 패키지(package
)는 코드를 구조화하고 재사용성을 높이기 위해 사용하는 중요한 개념입니다. 본 글에서는 모듈과 패키지에 대해 설명합니다.
모듈(module)
모듈(module
)은 특정 기능과 관련된 함수, 변수, 클래스 등을 하나의 파일에 모아둔 코드의 집합체입니다. 쉽게 말하면, 하나의 .py
파일이 하나의 모듈이 될 수 있습니다.
모듈을 생성하여 코드를 관리하면, 코드의 재사용성이 높아지고 유지보수가 쉬워집니다.
# calculator.py: 간단한 계산기 모듈
def add(x, y):
return x + y
def subtract(x, y):
return x - y
이 calculator.py
파일은 하나의 모듈이며, 이를 다른 파일에서 불러와 사용할 수 있습니다.
import calculator
result = calculator.add(10, 5)
print(f"덧셈 결과: {result}")
result = calculator.subtract(10, 5)
print(f"뺄셈 결과: {result}")
위 예시와 같이 calculator.py
의 함수들은 이제 어디서든지 import calculator
를 통해 불러와서 재사용할 수 있습니다.
패키지(package)
패키지(package
)는 여러 모듈을 폴더 구조로 관리할 수 있도록 도와줍니다. 패키지를 사용하면 대규모 프로젝트에서 모듈들을 좀 더 효율적으로 관리할 수 있습니다.
패키지 구조
패키지는 기본적으로 디렉토리로 구성됩니다. 이 디렉토리 내에 여러 모듈 파일들이 포함됩니다.
패키지로 사용하기 위해서는 해당 디렉토리에 __init__.py
파일이 있어야 합니다. 이 파일은 해당 디렉토리가 패키지로 인식될 수 있도록 합니다.
utils/
__init__.py
calculator.py
converter.py
위 예시에서 utils
는 패키지로, 이 안에 calculator.py
와 converter.py
모듈이 포함되어 있습니다.
패키지 사용하기
패키지 내의 모듈을 사용하려면, 다음과 같이 import
구문을 활용합니다.
# main.py 패키지 사용 예시
from utils import calculator
result = calculator.add(10, 5)
print(f"덧셈 결과: {result}")
result = calculator.subtract(10, 5)
print(f"뺄셈 결과: {result}")
또는 패키지 내에서 특정 모듈만 가져올 수도 있습니다.
from utils.calculator import add, subtract
result = add(10, 5)
print(f"덧셈 결과: {result}")
result = subtract(10, 5)
print(f"뺄셈 결과: {result}")
패키지를 사용하면 프로젝트 구조를 명확하게 구분할 수 있어 코드의 가독성도 높아집니다.
정리. 모듈과 패키지의 차이점
module
: 단일.py
파일로, 여러 함수나 변수, 클래스를 포함할 수 있음package
: 여러 모듈을 포함하는 디렉토리 구조로, 모듈들을 체계적으로 관리할 수 있음
'Language > Python' 카테고리의 다른 글
파이썬으로 특정 사이트의 모든 이미지 다운로드 받기 (2) | 2024.09.04 |
---|---|
PyInstaller로 파이썬 코드를 exe 파일로 빌드하기 (0) | 2024.08.23 |
Python에서 예외 발생시키는 방법 (raise Exception) (0) | 2024.08.22 |
Python에서 예외 처리하는 방법 (try ~ except) (0) | 2024.08.22 |
Python에서 파일 입출력(File IO) 읽고 쓰는 방법 (0) | 2024.08.21 |
IT 기술에 대한 글을 주로 작성하고, 일상 내용, 맛집/숙박/제품 리뷰 등 여러가지 주제를작성하는 블로그입니다. 티스토리 커스텀 스킨도 개발하고 있으니 관심있으신분은 Berry Skin을 검색바랍니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!