학습 목표
import와from ... import구문을 올바르게 사용할 수 있다- 절대 경로와 상대 경로 import의 차이를 이해한다
__init__.py의 역할과__all__을 활용할 수 있다- 순환 참조(Circular Import)를 식별하고 해결할 수 있다
왜 중요한가
파이썬의import 시스템은 프로그램 구조를 결정합니다. 머신러닝 프로젝트에서 모델, 데이터 처리, 유틸리티를 모듈로 분리하고, 이들 간의 의존성을 관리하는 것이 프로젝트 확장성의 핵심입니다.
기본 import
패키지와 init.py
절대 경로 vs 상대 경로
all
__all__은 from module import *에서 공개할 이름을 제한합니다.
순환 참조 해결
AI/머신러닝 프로젝트 구조 예시
__init__.py가 비어 있어도 되나요?
__init__.py가 비어 있어도 되나요?
Python 3.3 이후 namespace package를 사용하면
__init__.py 없이도 패키지가 됩니다. 하지만 명시적으로 패키지임을 나타내고, 초기화 코드나 공개 API를 정의하기 위해 빈 파일이라도 유지하는 것을 권장합니다.if __name__ == '__main__'은 무엇인가요?
if __name__ == '__main__'은 무엇인가요?
이 조건은 파일이 직접 실행될 때만(
python script.py) 참이 됩니다. import될 때는 거짓이 되어 코드가 실행되지 않습니다. 스크립트의 진입점(Entry Point)을 정의할 때 사용합니다.체크리스트
-
import와from ... import를 올바르게 사용할 수 있다 -
__init__.py와__all__의 역할을 설명할 수 있다 - 순환 참조를 식별하고 해결할 수 있다
- 머신러닝 프로젝트의 모듈 구조를 설계할 수 있다
다음 문서
표준 라이브러리
os, pathlib, datetime, json, re
디자인 패턴
디자인 패턴 복습

