모듈은 보통 하나의 `.py` 파일이고, 패키지는 모듈을 묶는 이름 공간이다. import는 파일을 매번 실행하는 문법이 아니다.
from pathlib import Path
from .rules import legal_moves점으로 시작하는 상대 import는 패키지 안의 관계를 뜻한다. 실행 파일은 패키지 바깥의 얇은 진입점으로 두고, 내부 모듈을 파일 경로로 직접 실행하지 않는다. 패키지는 `python -m package.module`처럼 실행하면 import 기준이 안정된다.
순환 import는 A가 초기화되는 동안 B가 다시 A의 아직 만들어지지 않은 이름을 읽게 한다. 공통 타입을 세 번째 모듈로 옮기거나 의존 방향을 한쪽으로 만든다. 함수 안 import는 임시 회피이지 구조 해결은 아니다.
`from module import *`는 이름의 출처를 숨기고 충돌을 만든다. 필요한 이름만 가져오거나 모듈 이름을 붙여 쓴다.
댓글
0개아직 댓글이 없습니다.