Python을 배워보자/9. 모듈과 패키지

파이썬 모듈 만들기

_Blue_Sky_ 2024. 9. 26. 09:12
728x90
728x90

파이썬 모듈 만들기: 나만의 코드 재사용하기

파이썬 모듈은 특정 기능을 수행하는 코드를 모아놓은 파일입니다. 마치 레고 블록처럼, 자주 사용하는 함수나 클래스를 모듈로 만들어 재사용하면 코드의 가독성을 높이고 유지보수를 용이하게 만들 수 있습니다.

왜 모듈을 만들어야 할까요?

  • 코드 재사용: 한 번 작성한 코드를 여러 곳에서 반복적으로 사용할 수 있습니다.
  • 코드 관리: 복잡한 프로그램을 작은 단위로 나누어 관리하기 쉽습니다.
  • 모듈화: 프로그램의 구조를 명확하게 하고, 다른 개발자와의 협업을 용이하게 합니다.
  • 라이브러리 활용: 파이썬의 강력한 생태계를 활용하여 다양한 기능을 쉽게 구현할 수 있습니다.
728x90

모듈 만들기 실습

  1. 새로운 파일 생성:
    • 텍스트 편집기나 IDE를 사용하여 새로운 파이썬 파일을 만듭니다. (예: my_module.py)
  2. 함수 또는 클래스 정의:
    • 모듈 안에 사용하고 싶은 함수나 클래스를 정의합니다.
 
# my_module.py

def greet(name):
    """사용자에게 인사하는 함수"""
    print(f"Hello, {name}!")

class Calculator:
    """간단한 계산기 클래스"""
    def __init__(self):
        pass

    def add(self, a, b):
        return a + b
 
  1. 모듈 불러오기:
    • 다른 파이썬 파일에서 import 문을 사용하여 모듈을 불러옵니다.
 
# main.py

import my_module

my_module.greet("Alice")
calculator = my_module.Calculator()
result = calculator.add(3, 4)
print(result)
 

모듈의 종류와 특징

  • 내장 모듈: 파이썬 설치 시 기본적으로 제공되는 모듈 (예: math, random)
  • 표준 라이브러리 모듈: 파이썬 공식 문서에 포함된 모듈 (예: os, sys)
  • 써드파티 모듈: 외부 개발자가 만든 모듈 (예: NumPy, Pandas)
  • 사용자 정의 모듈: 직접 만든 모듈

모듈 패키징

  • 패키지: 여러 개의 모듈을 폴더로 묶어 관리하는 단위
  • init.py 파일: 폴더를 패키지로 인식하게 해주는 파일
  • 설치: pip install 명령어를 사용하여 패키지를 설치할 수 있습니다.

모듈 문서화

  • docstring: 함수나 클래스에 대한 설명을 작성하여 코드의 가독성을 높입니다.
  • Sphinx: 파이썬 프로젝트 문서를 자동으로 생성해주는 도구

모듈 테스트

  • unittest: 파이썬 표준 라이브러리에 포함된 단위 테스트 프레임워크
  • pytest: 유연하고 강력한 테스트 프레임워크

모듈 활용 시 주의사항

  • 명명 규칙: 모듈 이름은 간결하고 의미 있는 이름을 사용합니다.
  • 순환 참조: 모듈 간의 순환 참조는 피해야 합니다.
  • 상대 경로 vs. 절대 경로: 모듈을 불러올 때 적절한 경로를 사용해야 합니다.

심화: 모듈 시스템

  • import 문의 동작: import 문이 실행될 때 파이썬 인터프리터가 모듈을 찾는 과정
  • sys.path: 모듈 검색 경로를 관리하는 변수
  • 패키지 관리 시스템: pip, conda

결론

파이썬 모듈은 코드를 효율적으로 관리하고 재사용하기 위한 강력한 도구입니다. 모듈을 잘 활용하면 더욱 복잡하고 큰 규모의 프로그램도 쉽게 개발할 수 있습니다.

 

728x90
728x90