파이썬 모듈과 패키지: 완전 가이드와 예제
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
- 소프트웨어 개발자, 데이터 분석가, 머신러닝/웹 개발자
- 초보자 및 고급 사용자 모두에게 적합
- 코드 구조화, 생산성 향상, 모듈 재사용에 관심 있는 개발자
핵심 요약
- 모듈 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 math
→math.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
생략 가능하지만, 명시 시 코드 관리 용이함