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

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

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

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

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