29.4. __main__ — 최상위 스크립트 환경


'__main__' 은 최상위 코드가 실행되는 스코프의 이름입니다. 모듈의 __name__ 은 표준 입력, 스크립트 또는 대화식 프롬프트에서 읽힐 때 '__main__' 으로 설정됩니다.

모듈은 자신의 __name__ 을 검사하여 메인 스코프에서 실행 중인지를 확인할 수 있습니다. 이 때문에 임포트될 때는 실행되지 않지만, 스크립트로 실행되거나 python -m 으로 실행될 때 조건부로 동작하는 공통 관용구를 사용할 수 있습니다:

if __name__ == "__main__":
    # execute only if run as a script
    main()

패키지의 경우, __main__.py 모듈을 포함 시키면 같은 효과를 얻을 수 있습니다. 모듈의 내용은 모듈이 -m 으로 실행될 때 실행됩니다.