티스토리 뷰

반응형

Python 에서 __name__ == '__main__' 설명과 예제

 

if __name__ == "__main__": 문장은 Python 파일이 직접 실행될 때와 다른 파일에서 임포트될 때의 동작을 구분하는 데 사용됩니다. 이 구문은 특정 코드 블록이 모듈로 임포트될 때는 실행되지 않고, 스크립트로 직접 실행될 때만 실행되도록 합니다.

사용 예제

 

설명

  • __name__: Python 인터프리터는 파일을 실행할 때 각 파일에 대해 __name__이라는 특별한 변수를 설정합니다.
    • 파일이 직접 실행되면 __name__의 값은 "__main__"이 됩니다.
    • 파일이 다른 파일에 의해 임포트되면 __name__의 값은 파일의 이름(모듈 이름)이 됩니다.
  • if __name__ == "__main__":: 이 조건문이 참일 경우, 즉 파일이 직접 실행된 경우에만 main() 함수를 호출합니다. 따라서 임포트될 때는 main() 함수가 호출되지 않습니다.

이 방식은 코드의 재사용성을 높이고, 다른 스크립트에서 이 파일의 기능을 사용할 수 있도록 해줍니다.

 

추가 예제 : example.py 

 

이 스크립트를 직접 실행하면 다음과 같은 출력이 나옵니다:

 

반면, 이 스크립트를 다른 파이썬 파일에서 import하면 다음과 같은 출력이 나옵니다:

 

이 방식을 사용하면 모듈이 직접 실행될 때와 다른 스크립트에 의해 import될 때 다른 동작을 하도록 할 수 있습니다. 이는 특히 모듈을 개발할 때 유용하며, 모듈 테스트나 독립적인 스크립트 실행을 가능하게 합니다.

댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함