메인 최상위 스크립트 환경
What is it
__main__은 최상위 코드가 실행되는 범위의 이름입니다. 모듈의 이름은 표준 입력, 스크립트 또는 대화형 프롬프트에서 읽을 때 __main__과 같게 설정됩니다.
모듈은 자신의 __name__을 확인하여 메인 범위에서 실행 중인지 여부를 확인할 수 있으며, 이를 통해 모듈 내에서 코드를 조건부로 실행하는 일반적인 관용구를 사용할 수 있습니다. 스크립트로 실행되거나 python -m으로 실행될 때는 실행되지만, 가져오기 (import) 될 때는 실행되지 않습니다.
# __name__ == "__main__": 스크립트가 직접 실행되는지 확인 (가져오기 시 아님)
if __name__ == "__main__": # 스크립트로 실행될 때 True, 가져오기 시 False
# 스크립트로 실행될 때만 실행
main()
패키지의 경우, main.py 모듈을 포함하여 동일한 효과를 얻을 수 있으며, 이 모듈의 내용은 해당 모듈이 -m 으로 실행될 때 실행됩니다.
예를 들어, 모듈로 사용되도록 설계된 스크립트를 개발하는 경우 다음과 같이 해야 합니다.
# 예시: 함수는 가져올 수 있지만, 테스트 코드는 직접 실행될 때만 실행됨
def add(a, b):
return a+b
if __name__ == "__main__": # 파일이 직접 실행될 때만 실행됨, 가져오기 시 실행 안 됨
add(3, 5)
퀴즈
로그인하여 이 퀴즈에 답하고 학습 진행 상황을 추적하세요
파이썬 파일을 스크립트로 직접 실행할 때
__name__의 값은 무엇입니까?A. 파일 이름
B.
"**main**"C.
NoneD.
TrueAdvantages
- 모든 파이썬 모듈에는
__name__이 정의되어 있으며, 이것이__main__인 경우 사용자가 모듈을 독립적으로 실행하고 있음을 의미하며, 이에 따라 적절한 조치를 취할 수 있습니다. - 이 스크립트를 다른 스크립트에서 모듈로 가져오면 이름은 스크립트/모듈의 이름으로 설정됩니다.
- 파이썬 파일은 재사용 가능한 모듈 또는 독립 실행형 프로그램 역할을 할 수 있습니다.
if __name__ == "__main__":은 파일이 직접 실행될 때만 특정 코드를 실행하고, 가져오기될 때는 실행하지 않도록 하는 데 사용됩니다.
퀴즈
로그인하여 이 퀴즈에 답하고 학습 진행 상황을 추적하세요
if __name__ == "__main__":을 사용하는 주된 목적은 무엇입니까?A. 파일이 직접 실행될 때만 코드를 실행하고, 가져오기될 때는 실행하지 않음
B. 파일이 가져와지는 것을 방지
C. 파일 실행 속도를 높임
D. 다른 모듈로부터 코드를 숨김