대단원 Ⅰ. 모듈과 패키지 활용 교과서 6–39쪽
중단원 02. 모듈, 패키지 활용 · 14–35쪽
소단원 02. 모듈과 패키지 사용하기 · 19–25쪽
이 웹 주제의 연계 범위: 21–25, 35쪽
웹 학습 주제 05 / 12
패키지 구조와 __all__
폴더 트리의 점(.)은 어떤 경로를 가리킬까요?
폴더 경로와 점 경로 연결
- 1nature/패키지
- 2animals/하위 패키지
- 3bird.py모듈
- 4wild()함수
| 표현 | 대상 | 호출 예 |
|---|---|---|
| nature.animals.bird | 모듈 경로 | nature.animals.bird.wild() |
| from nature.animals import bird | bird 모듈 | bird.wild() |
| __all__ = ["bird"] | 별표 임포트 이름 | 명시적 임포트는 별개 |
패키지 경로는 점으로 구분합니다. nature.animals.bird는 nature/animals/bird.py에 대응합니다. 일반 패키지에는 __init__.py를 둡니다. Python에는 이 파일 없이 구성하는 네임스페이스 패키지도 있지만 이번 실습은 일반 패키지로 통일합니다.
패키지의 모듈 가져오기, 별칭, 특정 함수 가져오기, 모듈의 별표 임포트, 전체 경로 임포트의 다섯 방식을 비교하세요. from nature.animals.bird import *와 from nature.animals import *는 대상이 다릅니다.
__init__.py의 __all__은 from 패키지 import *로 가져올 이름을 지정합니다. 외부 접근을 차단하는 보안 설정이 아닙니다. __all__에 없는 flower도 명시적으로 임포트할 수 있습니다.
직접 해 보세요
- __all__에 flower를 추가하고 달라진 결과를 확인하세요.
- animals 패키지에 새 모듈을 추가하고 불러오세요.
이 설명에 이어서 실습하기
예제를 선택하면 바로 아래에서 코드를 수정하고 실행할 수 있습니다. 작성한 코드는 예제별로 저장됩니다.
CODE WORKSPACE
코드를 바꾸는 실습실
실행 엔진은 처음 실행할 때 내려받습니다. 패키지 크기에 따라 최초 준비에 최대 3분이 걸릴 수 있으며 네트워크가 필요합니다. 실행은 최대 30초이며 중지 후 다시 실행할 수 있습니다.
실행할 예제를 선택하세요.
PRACTICE / RETRY / UNDERSTAND
이 주제 연습 문제 5
이 주제와 연결된 문제만 보여 줍니다. 단원 전체 문제는 단원 안내 페이지에서 이어서 풀 수 있습니다.
인공지능 파이썬 실무