손을 흔들며 반갑게 웃는 파이인공지능 파이썬 실무
전구 옆에서 아이디어를 설명하는 파이

Ⅰ. 모듈과 패키지 활용 · 주제 05 / 12

패키지 구조와 __all__

폴더 트리의 점(.)은 어떤 경로를 가리킬까요?

교과서 21–25, 35쪽예제 8개

대단원 Ⅰ. 모듈과 패키지 활용 교과서 6–39쪽

중단원 02. 모듈, 패키지 활용 · 14–35쪽
소단원 02. 모듈과 패키지 사용하기 · 19–25쪽

이 웹 주제의 연계 범위: 21–25, 35쪽

웹 학습 주제 05 / 12

패키지 구조와 __all__

폴더 트리의 점(.)은 어떤 경로를 가리킬까요?

AT A GLANCE

폴더 경로와 점 경로 연결

  1. 1nature/패키지
  2. 2animals/하위 패키지
  3. 3bird.py모듈
  4. 4wild()함수
표현대상호출 예
nature.animals.bird모듈 경로nature.animals.bird.wild()
from nature.animals import birdbird 모듈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도 명시적으로 임포트할 수 있습니다.

직접 해 보세요

  1. __all__에 flower를 추가하고 달라진 결과를 확인하세요.
  2. animals 패키지에 새 모듈을 추가하고 불러오세요.

이 설명에 이어서 실습하기

예제를 선택하면 바로 아래에서 코드를 수정하고 실행할 수 있습니다. 작성한 코드는 예제별로 저장됩니다.

CODE WORKSPACE

코드를 바꾸는 실습실

실행 환경

main.py

실행 엔진은 처음 실행할 때 내려받습니다. 패키지 크기에 따라 최초 준비에 최대 3분이 걸릴 수 있으며 네트워크가 필요합니다. 실행은 최대 30초이며 중지 후 다시 실행할 수 있습니다.

실행할 예제를 선택하세요.

PRACTICE / RETRY / UNDERSTAND

이 주제 연습 문제 5

이 주제와 연결된 문제만 보여 줍니다. 단원 전체 문제는 단원 안내 페이지에서 이어서 풀 수 있습니다.

단원 전체 60문제로 →