본문 바로가기
프로그래밍/Python

Python ] if __name__ == '__main__':

by eteo 2023. 3. 25.

 

 

 

if __name__ == '__main__': 은 왜 필요할까?

 

파이썬 코드를 모듈 형태로 가져올 때와, 스크립트 형태로 직접 실행할 때를 구분하기 위한 용도로 사용된다.

 

파이썬 코드를 작성할 때, 일반적으로 함수나 클래스를 정의한 후 다른 코드에서 이를 임포트하여 사용한다. 이 때, 모듈로 작성된 코드가 다른 코드에서 임포트되었을 때에는 그 모듈의 __name__ 속성 값은 모듈의 이름이다. 하지만, 직접 실행할 때에는 __name__ 속성 값이 '__main__'으로 지정된다.

 

따라서, if __name__ == '__main__': 구문 아래 현재 스크립트가 직접 실행될 때에만 실행되는 코드 블록을 작성하면, 이 구문을 사용하여 스크립트를 모듈 형태로 가져올 때와, 직접 실행할 때 각각 다른 동작을 수행할 수 있다.

 

✔ 참고로 파이썬에서 모듈명은 파일명과 동일하게 지정된다. 하지만 파일명이 모듈명과 꼭 일치하지 않아도 되며, 모듈 내에 __name__ 속성을 이용하여 모듈명을 변경할 수 있지만, 일반적으로는 그렇게 하지 않는게 권장된다.