본문 바로가기

Programming/python

python module과 pakage에 대해서 알아보자 (모듈 vs 패키지)

파이썬에서 모듈(Module)과 패키지(Package)는 코드를 구성하고 재사용하는 데 사용되는 중요한 개념입니다.

 모듈(Module): 
- 모듈은 파이썬 코드를 담고 있는 파일입니다. 

  즉, 함수, 클래스, 변수 등을 정의하는 코드가 포함된 파일을 말합니다.
- 모듈은 `.py` 확장자를 가지며, 다른 파이썬 파일에서 `import` 문을 사용하여 해당 모듈을 가져와서 사용할 수 있습니다.
- 코드의 모듈화와 재사용성을 높이는 데에 사용됩니다.

 패키지(Package): 
- 패키지는 모듈들의 집합입니다. 디렉토리에 여러 모듈들이 저장되어 있는 구조를 말합니다.
- 패키지 내에는 `__init__.py` 파일이 존재해야 합니다. 

  이 파일은 해당 디렉토리를 패키지로 인식하게 해줍니다.
- 패키지도 모듈과 마찬가지로 다른 파이썬 파일에서 `import` 문을 사용하여 해당 패키지를 가져와서 사용할 수 있습니다.

 차이점: 
- 모듈은 파일 단위로 코드를 구성하고, 하나의 파일에 여러 함수, 클래스 등이 포함될 수 있습니다.
- 패키지는 디렉토리 단위로 코드를 구성하고, 디렉토리 안에 여러 모듈들이 포함되어 있습니다.

 예제: 
간단한 모듈과 패키지 예제를 살펴보겠습니다.

1. 모듈 예제:

# example_module.py
def greet(name):
    return f"Hello, {name}!"

# 다른 파일에서 해당 모듈을 사용하기 위해 저장 및 실행
# main.py
import example_module

result = example_module.greet("John")
print(result)


출력 결과:


2. 패키지 예제:

my_package/
    __init__.py
    greetings.py
# greetings.py
def greet(name):
    return f"Hello, {name}!"

# __init__.py 파일은 비워둘 수 있습니다.
# main.py
from my_package import greetings

result = greetings.greet("Alice")
print(result)


출력 결과:

Hello, Alice!



위 예제에서 `example_module.py`와 `greetings.py`는 각각 모듈로, `my_package`는 패키지로 사용됩니다.

`main.py`에서 해당 모듈과 패키지를 가져와서 사용하는 것을 볼 수 있습니다. 

모듈과 패키지를 사용하여 코드를 구성하면 코드의 재사용성을 높이고, 코드 관리를 용이하게 할 수 있습니다.

반응형