대단원 Ⅰ. 모듈과 패키지 활용 교과서 6–39쪽
중단원 02. 모듈, 패키지 활용 · 14–35쪽
소단원 01. 모듈 정의하기 · 15–18쪽
이 웹 주제의 연계 범위: 17–18쪽
웹 학습 주제 03 / 12
__name__과 __main__
실행 파일 선택을 바꾸어 같은 모듈의 두 역할을 관찰하세요.
같은 파일, 두 가지 역할
- 1직접 실행__name__ = "__main__"
- 2조건 비교이름이 __main__인가?
- 3참이면시험용 코드 실행
| 실행 방법 | __name__ | main 가드 |
|---|---|---|
| python circle.py | __main__ | 실행 |
| import circle | circle | 건너뜀 |
| 최상위 실행문 | 두 경우 모두 | 가드 밖이면 실행 |
직접 실행하는 파일의 __name__은 "__main__"입니다. 다른 파일에서 임포트하면 모듈 이름이 됩니다. if __name__ == "__main__": 아래에 시험용 호출을 넣으면 임포트할 때 시험 출력이 섞이지 않습니다.
웹 실행창에서 main.py와 circle_area3.py를 번갈아 실행하세요. 모듈 최상위의 print는 임포트 때도 실행되지만 if 안의 호출은 직접 실행할 때만 실행됩니다.
보강: 같은 인터프리터에서 이미 로드한 모듈을 다시 import하면 보통 sys.modules의 캐시를 재사용합니다. 아래 실습창은 실행마다 학습 파일을 새 폴더에 준비하고 이전 학습 모듈을 정리합니다.
직접 해 보세요
- rectEx1의 조건문을 제거했을 때와 있을 때의 출력을 비교하세요.
- __main__이 파일 이름이라는 설명이 왜 틀렸는지 적으세요.
이 설명에 이어서 실습하기
예제를 선택하면 바로 아래에서 코드를 수정하고 실행할 수 있습니다. 작성한 코드는 예제별로 저장됩니다.
CODE WORKSPACE
코드를 바꾸는 실습실
실행 엔진은 처음 실행할 때 내려받습니다. 패키지 크기에 따라 최초 준비에 최대 3분이 걸릴 수 있으며 네트워크가 필요합니다. 실행은 최대 30초이며 중지 후 다시 실행할 수 있습니다.
실행할 예제를 선택하세요.
PRACTICE / RETRY / UNDERSTAND
이 주제 연습 문제 0
이 주제와 연결된 문제만 보여 줍니다. 단원 전체 문제는 단원 안내 페이지에서 이어서 풀 수 있습니다.
인공지능 파이썬 실무