파이썬 모듈과 패키지: 완전 가이드와 예제

파이썬 모듈과 패키지: 완전 가이드와 예제

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

개발 툴

대상자

  • 소프트웨어 개발자, 데이터 분석가, 머신러닝/웹 개발자
  • 초보자 및 고급 사용자 모두에게 적합
  • 코드 구조화, 생산성 향상, 모듈 재사용에 관심 있는 개발자

핵심 요약

  • 모듈 vs 패키지: 모듈은 단일 .py 파일, 패키지는 __init__.py를 포함한 폴더 구조로 구성됨 (import 명령어 사용)
  • 실무 적용: import 문을 통해 모듈/패키지 사용, from ... import ...으로 특정 함수/클래스 가져오기
  • 최신 가이드라인: Python 3.10 기준으로 __init__.py 생략 가능, PEP8 준수 및 __all__ 명시 권장

섹션별 세부 요약

1. 모듈과 패키지의 정의

  • 모듈: 단일 Python 파일로 정의된 코드 단위 (example.py)
  • 패키지: 여러 모듈을 포함한 폴더 구조 (package/ + __init__.py)
  • 구분 기준: 모듈은 단일 파일, 패키지는 디렉토리 + __init__.py 파일 포함

2. 모듈/패키지 임포트 방법

  • 기본 문법: import module_name 또는 from package_name import module_name
  • 별칭 사용: import numpy as np로 별칭 지정 가능
  • 절대 경로 임포트: from src.utils import helper 형식으로 프로젝트 구조 기반 임포트

3. 실무 예제

  • 예시 1: math 모듈 사용 (import mathmath.sqrt(16))
  • 예시 2: 패키지 구조 (/my_package/__init__.py, /my_package/utils.py)
  • 패키지 내 모듈 임포트: from my_package import utils

4. 최적화 팁

  • __init__.py: 패키지 내 모듈 초기화 및 __all__ 변수로 공개 모듈 명시
  • 패키지 구조: src/, tests/, utils/ 등으로 분리
  • PEP8 준수: 들여쓰기, 파일명, 모듈명의 일관성 유지

결론

  • 실무 팁: 모듈은 기능 단위로 분리, 패키지는 프로젝트 구조에 맞게 구성
  • 코드 가독성 향상: __init__.py 파일을 사용해 패키지 초기화
  • 확장성: import 문과 __all__ 명시로 모듈 재사용성 극대화
  • 핵심 원칙: Python 3.10 기준으로 __init__.py 생략 가능하지만, 명시 시 코드 관리 용이함