개발 문서/Python

모듈과 패키지

copg 2023. 11. 8. 20:06
728x90
반응형

모듈(Module)과 패키지(Package)는 Python 프로그래밍에서 코드의 구조화와 재사용을 지원하는 중요한 개념입니다. 모듈은 Python 코드가 저장된 파일이고, 패키지는 여러 모듈을 포함하는 디렉토리입니다. 이러한 개념을 자세히 살펴보겠습니다:

모듈 (Module):

  • 모듈은 .py 확장자를 가진 Python 코드 파일로, 변수, 함수, 클래스 등의 Python 코드를 포함할 수 있습니다.
  • 모듈은 다른 Python 스크립트에서 임포트(Import)하여 사용할 수 있으며, 이로써 코드의 재사용성과 구조화가 증가합니다.
  • 모듈을 만들고 사용하는 예제:
# my_module.py
def greet(name):
    return f"Hello, {name}!"

# main.py
import my_module
result = my_module.greet("Alice")
print(result)  # 출력: "Hello, Alice!"

패키지 (Package):

  • 패키지는 관련된 모듈을 포함하는 디렉토리 구조입니다. 패키지는 하위 디렉토리에 모듈을 그룹화하고, __init__.py 파일을 포함하여 해당 디렉토리를 패키지로 지정합니다.
  • 패키지는 모듈을 논리적으로 그룹화하고 패키지 이름을 사용하여 모듈을 가져올 수 있게 해줍니다.
  • 패키지를 만들고 사용하는 예제:
my_package/
    __init__.py
    module1.py
    module2.py
# my_package/module1.py
def function1():
    return "Function 1"

# my_package/module2.py
def function2():
    return "Function 2"

# main.py
from my_package import module1, module2
result1 = module1.function1()
result2 = module2.function2()
print(result1)  # 출력: "Function 1"
print(result2)  # 출력: "Function 2"

모듈 검색 경로:

Python은 모듈 및 패키지를 검색하기 위해 특정한 모듈 검색 경로를 따릅니다. 이 경로에는 현재 디렉토리와 내장 모듈 디렉토리, 사용자 지정 모듈 디렉토리 등이 포함됩니다.

일반적으로 모듈 검색 경로에 사용자 지정 모듈을 추가하려면 sys.path 리스트를 사용하거나 PYTHONPATH 환경 변수를 설정할 수 있습니다. 이를 통해 Python은 사용자 지정 모듈을 찾을 수 있게 됩니다.

모듈과 패키지는 Python의 중요한 구성 요소로, 코드를 구조화하고 모듈화하여 유지보수 가능한 코드를 작성하는데 도움을 줍니다. 코드의 재사용성을 높이고 효율적으로 작업할 수 있도록 모듈 및 패키지를 활용하는 것은 Python 프로그래밍에서 매우 중요한 스킬입니다.