Life Work/Python | Pandas

[파이썬] 모듈 vs 패키지

white stones 2024. 1. 25. 09:08

1. 파이썬 모듈, 패키지 개념

모듈은 파이썬 코드가 담긴 단일 파일(.py)

모듈은 클래스,함수,변수등을 정의하고 다른 파일에서 이를 불러와 사용

 

패키지는 여러 모듈을 포함하는 디렉토리

패키지는 모듈을 논리적으로(?) 그룹화하여 더 큰 프로젝트를 체계적으로 관리할 수 있게 함

패키지 디렉토리에는 __init__.py 파일이 포함되어 있어야 함 (이 파일이 해당 디렉토리를 패키지로 인식하게 함)

 

cf)  __init__.py 파일은

패키지 초기화 코드나 패키지 내 모듈을 불러오는 데 사용

 

2. 사용하는 이유

파이썬 코드의 재사용과 조직화를 위해 사용

 

3. 사용 예시

 

3.1. 모듈

# mymodule.py
def my_function():
    print("Hello from mymodule!")

# main.py
import mymodule

mymodule.my_function()  # "Hello from mymodule!" 출력

 

3.2. 패키지

# 패키지 구조:
# mypackage/
# ├── __init__.py
# ├── module1.py
# └── module2.py

# mypackage/__init__.py __init__.py파일은 패키지 초기화 코드나 패키지 내 모듈을 불러오는 데 사용
from .module1 import my_function1
from .module2 import my_function2

# mypackage/module1.py
def my_function1():
    print("Hello from module1!")

# mypackage/module2.py
def my_function2():
    print("Hello from module2!")

# main.py #main.py의 위치는?
import mypackage

mypackage.my_function1()  # "Hello from module1!" 출력
mypackage.my_function2()  # "Hello from module2!" 출력